added some stuff for dealing with user models and whatnot; still need to pass tests