anchor.diff:  add_client(Address, Secret) ->
   	add_client(Address, 3799, radius, Secret).
   
  --spec add_client(Address :: inet:ip_address(), DisconnectPort :: inet:port_number(),
  -			Protocol :: atom(), Secret :: string() | binary()) ->
  -	Result :: ok.
  +-spec add_client(Address, DisconnectPort, Protocol, Secret) -> Result
  +	when
  +		Address :: inet:ip_address(),
  +		DisconnectPort :: inet:port_number(),
  +		Protocol :: atom(),
  +		Secret :: string() | binary(),
  +		Result :: ok.
   %% @doc Create an entry in the RADIUS client table.
   %%
   add_client(Address, DiscPort, Protocol, Secret) when is_list(Secret), is_integer(DiscPort), is_atom(Protocol) ->
  
positive.code: 			exit(Reason)
  	end.
  
  -spec find_client(Address :: inet:ip_address()) ->
  	Result :: {ok, DisconnectPort :: inet:port_number(), Protocol :: atom(), Secret :: binary()} | {error, Reason :: not_found | term()}.
  %% @doc Look up the shared secret for a RADIUS client.
  %%
  find_client(Address) when is_list(Address) ->
  
negative.code: 			exit(Reason)
  	end.
  
  -spec update_password(Subscriber, Password)-> Result
  	when
  		Subscriber :: string() | binary(),
  		Password :: string() | binary(),
  		Result :: ok | {error, Reason},
  		Reason :: not_found | term().
  %% @doc Update a new subscriber password
  %% @see ocs:generate_password/0
  update_password(Subscriber, Password)
  