Refactor user signup
Finish user login