add signup functionality