Adding more validations and password migration to user model