full functionality with error handling
styling added
unit tests for user controller