added password hashing