refactor Controller and Model without change functionality