@zaaalim: very long post