add signup functionality and signup page with error messages