added some models, user registration, and basic user checks