allow for custom user model