add signup logic