anchor.diff:  
   -spec initialize(binary(), pos_integer(), pos_integer(), float()) -> ok | {error, binary()}.
   initialize(NetworkId, InpSize, OutSize, LearningRate) ->
  -    gen_server:call(?NETWORK_GID(NetworkId), {initialize, [InpSize, OutSize, LearningRate]}).
  +    gen_server:call(?NETWORK_GID(NetworkId), {initialize, [InpSize, OutSize, LearningRate]}, ?TIMEOUT).
   
   -spec add_layer(binary(), pos_integer()) -> ok | {error, binary()}.
   add_layer(NetworkId, Size) ->
  -    gen_server:call(?NETWORK_GID(NetworkId), {add_layer, [Size]}).
  +    gen_server:call(?NETWORK_GID(NetworkId), {add_layer, [Size]}, ?TIMEOUT).
   
   -spec add_activation(binary(), atom()) -> ok | {error, binary()}.
   add_activation(NetworkId, Activation) ->
  -    gen_server:call(?NETWORK_GID(NetworkId), {add_activation, [Activation]}).
  +    gen_server:call(?NETWORK_GID(NetworkId), {add_activation, [Activation]}, ?TIMEOUT).
   
   -spec set_cost(binary(), atom()) -> ok | {error, binary()}.
   set_cost(NetworkId, CostFunc) ->
  -    gen_server:call(?NETWORK_GID(NetworkId), {set_cost, [CostFunc]}).
  +    gen_server:call(?NETWORK_GID(NetworkId), {set_cost, [CostFunc]}, ?TIMEOUT).
   
   -spec add_data_chunk(binary(), list(), list()) -> ok | {error, binary()}.
   add_data_chunk(NetworkId, Inputs, Labels) ->
  
positive.code: 
  -spec train(binary(), pos_integer(), pos_integer()) -> ok | {error, binary()}.
  train(NetworkId, Epochs, BatchSize) ->
      gen_server:call(?NETWORK_GID(NetworkId), {train, [Epochs, BatchSize]}).
  
  -spec get_weights(binary()) -> ok | {error, binary()}.
  get_weights(NetworkId) ->
      gen_server:call(?NETWORK_GID(NetworkId), {get_weights, []}).
  
  -spec set_weights(binary(), [float()]) -> ok | {error, binary()}.
  set_weights(NetworkId, Weights) ->
      gen_server:call(?NETWORK_GID(NetworkId), {set_weights, [Weights]}).
  
  -spec predict(binary(), [number()]) -> list() | {error, binary()} .
  predict(NetworkId, [N|_]=Input) when is_number(N) ->
  
negative.code:     [Result] = predict(NetworkId, [Input]),
      Result;
  predict(NetworkId, Set) ->
      gen_server:call(?NETWORK_GID(NetworkId), {predict, [Set]}, ?TIMEOUT).
  
  %% Gen server related functions
  
  