a bunch of fixes in user model and stuff