anchor.diff:  handle_info({call_sensor}, State=#state{config = Config}) ->
       {driver, {Module, Func}, Module_config} = lists:keyfind(driver, 1, Config),
       Config_1 = Module:Func(Config, Module_config),
  -    start_timer(proplists:get_value(timer, Config, 0)),
  +    start_timer(config:get_value(timer, Config, 0)),
       {noreply, State#state{config = Config_1}};
   
   handle_info({gpio_interrupt, 0, Pin, Status}, State=#state{config = Config}) ->   
  
positive.code: %% Description: Starts the server
  %%--------------------------------------------------------------------
  start_link(Config) ->
      gen_server:start_link({local, list_to_atom(proplists:get_value(name, Config))}, ?MODULE, Config, []).
  %% --------------------------------------------------------------------
  %% Function: init/1
  %% Description: Initiates the server
  
negative.code:     lager:info("Reason for termination : ~p",[Reason]),
      {driver, {Module, Func}, Module_config} = lists:keyfind(driver, 1, Config), 
      lager:info("stopping thing of type : ~p", [Module]),
      Exports = config:get_value(exports, Module:module_info(), []),
      case config:get_value(stop, Exports) of 
          undefined -> lager:warning("there is no stop function in module : ~p", [Module]);
          1 -> driver_stop(Module, Config);
          Any -> lager:warning("the stop function has too many arguments")
  