- use salt and hashed_password, implement register