anchor.diff:  			{error, Reason}
   	end;
   add_subscriber(Identity, Password, Product, Buckets, Attributes, EnabledStatus, MultiSession)
  -		when is_binary(Identity), is_binary(Password), is_list(Product),
  +		when is_binary(Identity), is_binary(Password), is_list(Product), Product /= [],
   		is_list(Buckets), is_list(Attributes), is_boolean(EnabledStatus), is_boolean(MultiSession) ->
   	F1 = fun() ->
   				case mnesia:read(product, Product, read) of
  
positive.code: 	when
  		Identity :: string() | binary(),
  		Password :: string() | binary(),
  		Product :: string() | #product_instance{},
  		Result :: {ok, #subscriber{}} | {error, Reason},
  		Reason :: term().
  %% @equiv add_subscriber(Identity, Password, Product, [], [], true, false)
  
negative.code: 	when
  		Identity :: string() | binary() | undefined,
  		Password :: string() | binary() | undefined,
  		Product :: string(),
  		Buckets :: [#bucket{}] | undefined,
  		Attributes :: radius_attributes:attributes() | binary(),
  		EnabledStatus :: boolean() | undefined,
  