Better user entity design
Cleanup
Add missing test