Refactored controllers to reuse all business logic