added basic user model with secure password functionality