refactored make controller class