refactor mvc primer