User refactor

Refactored ```User``` controller and supporting files