anchor.diff:      Session = escalus_client:start_session([], UserSpec, random),
       GetFields = exmpp_client_register:get_registration_fields(),
       exmpp_session:send_packet(Session, GetFields),
  -    wait_for_result("create user"),
  +    {ok, RegisterInstrs} = wait_for_result("create user"),
       Id = exmpp_stanza:get_id(GetFields),
  -    Fields = [proplists:lookup(Key, UserSpec) || Key <- [username, password]],
  +    FieldKeys = get_registration_questions(RegisterInstrs),
  +    Fields = [proplists:lookup(Key, UserSpec) || Key <- FieldKeys],
       Register = exmpp_client_register:register_account(Id, Fields),
       exmpp_session:send_packet(Session, Register),
       wait_for_result("create user"),
  
positive.code: is_conflict_stanza(Stanza) ->
      exmpp_xml:get_attribute(Stanza, <<"type">>, x) == <<"error">> andalso
      exmpp_xml:get_path(Stanza, [{element, "error"}, {attribute, <<"code">>}]) == <<"409">>.
  
negative.code: 
  wait_for_result(Action) ->
      receive
          #received_packet{packet_type=iq, type_attr="result", raw_packet=Raw} ->
              % RawStr = exmpp_xml:document_to_iolist(Raw),
              % error_logger:info_msg("success when trying to ~s: ~s~n", [Action, RawStr]),
              {ok, Raw};
          #received_packet{packet_type=iq, type_attr="error", raw_packet=Raw} ->
              RawStr = exmpp_xml:document_to_iolist(Raw),
              case is_conflict_stanza(Raw) of
  