implemented password_compat