revised user model