added user model and hashing