updated post generation