diff --git a/xep-0401.xml b/xep-0401.xml
index 050f2903..745a6e6b 100644
--- a/xep-0401.xml
+++ b/xep-0401.xml
@@ -30,6 +30,12 @@
When performing the account creation, Juliet's client needs to ensure - that the server supports the extended IBR protocol, as denoted by the - <register xmlns='urn:xmpp:invite'> - stream feature:
-OPTIONAL.
@@ -343,45 +336,87 @@In order to allow invited users to register on a server, the registration processs as defined in &xep0077; needs to be extended. The - invited user's client needs to connect to the server and check that the - invitation stream feature - (<register xmlns='urn:xmpp:invite'>) is present. - After that, the client initiates the registration flow by sending the - preauth token to the server:
-Upon receiving the preauth request, the server must validate that the - token is acceptable for account registration. However, single-use tokens - MUST NOT be considered used until the actual registration has succeeded. -
-In addition, if the token has an expiration time, it MUST only be - checked at this point. Subsequent actions performed by the client during - the current session that require a valid token MUST NOT be rejected due - to token expiry. -
-If the token is acceptable, the server responds with success, and - indicates the client may now proceed with account registration: -
-If the server supports and is ready to perform Pre-Authenticated IBR, + it MUST add a <token> element to the response (TODO: 'token' or + 'preauth'?):
+If the token provided by the client was unknown, invalid or expired, the - server should return an appropriate error to the client:
-In the success case, the client proceeds with registration as defined in - &xep0077;. If the token is rejected by the server, the client still MAY - attempt to perform IBR if the server allows that.
-After the invitee has successfully registered on the inviter's server and roster subscription is enabled for account creation, the server MUST use roster pushes as defined in &rfc6121; ยง2.1.6 in order to inform the