added a forgot password feature, fixed registration to have more
restrictions. still need to factor out code in registration?