split UserModel to UserModel and PreferenceModel, builds and runs