Adding a good portion of the required sign-up logic, need matching sign-in logic.