refactored code to more closely match the solution, which has the user validation also happening in the service, rather than controller
code cleanup prior to code review