refactored forumController