signup and login with error handling and msgs