implements bcrypt into user model