added new controller and refactor routes