add signup retype password, error handling, promise handling