mapping and better handling of custom user model