better explanation of post generation