added forgot password feature, added restrictions to registration, might
need to refactor code...