added hashing and salting for passwords