finish user signup
add tests for signup errors