refactor post view