password hashing and username availibility