redesign user model.