Refactor, fix signup code, add signup template override