#10 Refactoring UserService + unit tests