Initial version with password reset logic, unfinished. Unit tests fail.