elegant user model changes