Refactor
Add tests for User