finished chapter 6, user model with secure password