anchor.diff:  			exit(Reason)
   	end.
   
  --spec add_user(UserName :: string(), Password :: string(),
  +-spec add_subscriber(Subscriber :: string(), Password :: string(),
   		Attributes :: binary() | [byte()]) -> ok | {error, Reason :: term()}.
  -%% @doc Store the password and static attributes for a user.
  -%%
  -add_user(UserName, Password, Attributes) when is_list(UserName),
  +%% @doc Store the password and static attributes for a subscriber.
  +%%
  +add_subscriber(Subscriber, Password, Attributes) when is_list(Subscriber),
   		is_list(Password), (is_list(Attributes) orelse is_binary(Attributes)) -> 
   	F = fun() ->
  -				R = #radius_user{name = UserName, password = Password,
  +				R = #subscriber{name = Subscriber, password = Password,
   						attributes = Attributes},
   				mnesia:write(R)
   	end,
  
positive.code: %%----------------------------------------------------------------------
  
  -spec generate_password(Length :: pos_integer()) -> password().
  %% Generate a random password.
  %% @private
  generate_password(Length) when Length > 0 ->
  	Charset = charset(),
  
negative.code: %% define client table entries record
  -record(radius_client, {address, secret}).
  
  %% define subscriber table entries record
  -record(subscriber, {name, password, attributes}).
  
  -define(WAITFORSCHEMA, 10000).
  -define(WAITFORTABLES, 10000).
  