Refactored to use partial for posts