finish refactor signup