login/signup, the hardest part of anything