refactor using sub-template for user post