support custom user models and remove the requirement for a profile