adapt to user model change