refactoring internal user models gettings
+ add tests