refactor micropost