anchor.diff:                Private1 = Private
             end,
   
  +          BlockName = config_utils:name(Config),
             case attrib_utils:get_value(Outputs, exec_method) of
               {ok, input_cos} ->
  +              log_server:debug("Executing: ~p Exec Method: ~p", [BlockName, input_cos]),
                 % An input value has changed
                 % Read inputs, publish values to corresponding topics
                 pub_topics(Config, Inputs, Client),
  
positive.code:               % Return updated block state
                {Config, Inputs, Outputs1, Private1};
  
  
              {ok, message} ->
                % Read received publish message(s) if any, and update subscribed output values
                {Outputs1, Private2} = process_pub_msgs(Config, Outputs, Private1),
  
  
negative.code:   % SubTopics is of the form [{"Topic1"}, {"Topic2"}, ...]
    case attrib_utils:get_attribute(Config, sub_topics) of
      {ok, {sub_topics, SubTopics}} ->
        PubMsgTopicStr = binary_to_list(PubMsgTopic),
        PubMsgValueStr = binary_to_list(PubMsgValue),
        {FinOutputs, _Index} =
          lists:foldl(fun({SubTopic}, {NewOutputs, Index}) -> 
                        case block_utils:is_string(SubTopic) andalso (string:len(SubTopic) > 0) of
                          true ->
                            case SubTopic == PubMsgTopicStr of
                              true ->
                                DebugStr = lists:flatten(io_lib:format("Topic: ~s Set sub_values[~b] to ~p", 
                                                                         [PubMsgTopicStr, Index, PubMsgValueStr])),
                                log_server:debug(DebugStr),
                                {ok, UpdOutputs} = attrib_utils:set_value(NewOutputs, {sub_values, Index}, PubMsgValueStr),
                                {UpdOutputs, Index + 1};
                              
                              false -> {NewOutputs, Index + 1}
  