account sign up works, but needs refactoring