add more tests and refactor signup page