signup working but still needs refactoring