make a basic user model (inc secure passwords) - finish chapter 6