anchor.diff:      escalus_pubsub_stanza:iq_with_id(set, IqId, NodeAddress, User,  [UnubscribeFromNode]).
   
   create_subscribe_node_stanza(NodeName, From) ->
  -    SubsrNode = create_sub_unsubscribe_from_node_stanza(NodeName, From, <<"subscribe">>),
  -    pubsub_stanza([SubsrNode], ?NS_PUBSUB).
  -
  -create_request_allitems_stanza(NodeName) ->
  -    AllItems = #xmlel{name = <<"items">>, attrs=[{<<"node">>, NodeName}]},
  -    pubsub_stanza([AllItems], ?NS_PUBSUB).
  -
  -%%todo: make one function with option or like with create return always with iq.
  -create_request_allitems_stanza_with_iq(User, IqId, PubSubAddr, NodeName) ->
  -    AllItems = #xmlel{name = <<"items">>, attrs=[{<<"node">>, NodeName}]},
  -    iq_with_id(get, IqId, PubSubAddr, User, [pubsub_stanza([AllItems], ?NS_PUBSUB)]).
  +    create_subscribe_node_stanza(NodeName, From, []).
  +
  +create_subscribe_node_stanza(NodeName, From, Config) ->
  +    SubscrNode = create_sub_unsubscribe_from_node_stanza(NodeName, From, <<"subscribe">>),
  +    Elements = [SubscrNode | case Config of
  +                                 [] -> [];
  +                                 _ -> [subscribe_options_form(Config)]
  +                             end],
  +    pubsub_stanza(Elements, ?NS_PUBSUB).
  +
  +subscribe_options_form(Fields) ->
  +    form(<<"options">>, <<"subscribe_options">>, Fields).
   
   create_unsubscribe_from_node_stanza(NodeName, From) ->
       UnsubsrNode = create_sub_unsubscribe_from_node_stanza(NodeName, From, <<"unsubscribe">>),
  
positive.code: discover_nodes_stanza(User, IqId, NodeAddr, NodeName) ->
      Query = escalus_stanza:query_el(?NS_DISCO_ITEMS, [{<<"node">>, NodeName}], []),
      iq_with_id(get, IqId, NodeAddr, User,  [Query]).
  
negative.code:           }.
  
  %% ----end----- subscribe - unscubscribe -----------
  
  create_request_allitems_stanza(NodeName) ->
      AllItems = #xmlel{name = <<"items">>, attrs=[{<<"node">>, NodeName}]},
      pubsub_stanza([AllItems], ?NS_PUBSUB).
  
  %%todo: make one function with option or like with create return always with iq.
  create_request_allitems_stanza_with_iq(User, IqId, PubSubAddr, NodeName) ->
      AllItems = #xmlel{name = <<"items">>, attrs=[{<<"node">>, NodeName}]},
      iq_with_id(get, IqId, PubSubAddr, User, [pubsub_stanza([AllItems], ?NS_PUBSUB)]).
  
  
  delete_node_stanza(NodeName) ->
      DelNode = #xmlel{name = <<"delete">>,
  