added hash password functions