anchor.diff:  			case update_session(cents,
   					PriceCharge, PriceReserve, SessionId, Buckets2) of
   				{PriceCharge, PriceReserve, Buckets3} ->
  -erlang:display({?MODULE, ?LINE, PriceCharge, PriceReserve, Buckets3}),
   					rate6(Subscriber#subscriber{buckets = Buckets3}, interim,
   							DebitAmount, UnitsCharged + UnitCharge, ReserveAmount,
   							UnitReserve, SessionAttributes);
   				{PriceCharge, PriceReserved, Buckets3} ->
  -erlang:display({?MODULE, ?LINE, PriceCharge, PriceReserved, Buckets3}),
   					rate6(Subscriber#subscriber{buckets = Buckets3}, interim,
   							DebitAmount, UnitsCharged + UnitCharge, ReserveAmount,
   							PriceReserved div UnitPrice, SessionAttributes);
   				{PriceCharged, 0, Buckets3} ->
  -erlang:display({?MODULE, ?LINE, PriceCharged, Buckets3}),
   					rate6(Subscriber#subscriber{buckets = Buckets3}, interim,
   							DebitAmount, UnitsCharged + (PriceCharged div UnitPrice),
   							ReserveAmount, 0, SessionAttributes)
  -; Other -> erlang:display({?MODULE, ?LINE, Other})
   			end
   	end;
   rate5(#subscriber{buckets = Buckets1} = Subscriber,
   		#price{units = Units, size = UnitSize, amount = UnitPrice},
   		_Validity, final, DebitAmount, 0, SessionAttributes) ->
   	SessionId = get_session_id(SessionAttributes),
  -erlang:display({?MODULE, ?LINE, DebitAmount, Buckets1}),
   	case charge_session(Units, DebitAmount, SessionId, Buckets1) of
   		{DebitAmount, Buckets2} ->
  -erlang:display({?MODULE, ?LINE, DebitAmount, Buckets2}),
   			rate6(Subscriber#subscriber{buckets = Buckets2}, final,
   					DebitAmount, DebitAmount, 0, 0, SessionAttributes);
   		{UnitsCharged, Buckets2} ->
  -erlang:display({?MODULE, ?LINE, UnitsCharged, Buckets2}),
   			PriceChargeUnits = DebitAmount - UnitsCharged,
   			{UnitCharge, PriceCharge} = price_units(PriceChargeUnits,
   					UnitSize, UnitPrice),
   			case charge_session(cents, PriceCharge, SessionId, Buckets2) of
   				{PriceCharge, Buckets3} ->
  -erlang:display({?MODULE, ?LINE, PriceCharge, Buckets3}),
   					rate6(Subscriber#subscriber{buckets = Buckets3}, final,
   							DebitAmount, UnitsCharged + UnitCharge,
   							0, 0, SessionAttributes);
   				{PriceCharged, Buckets3} ->
  -erlang:display({?MODULE, ?LINE, PriceCharged, Buckets3}),
   					rate6(Subscriber#subscriber{buckets = Buckets3}, final,
   					DebitAmount, UnitsCharged + (PriceCharged div UnitPrice),
   					0, 0, SessionAttributes)
  
positive.code: rate4(_Protocol, #subscriber{enabled = false} = Subscriber, _Price,
  		_Validity, initial, _DebitAmounts, _ReserveAmounts,
  		SessionAttributes) ->
  erlang:display({?MODULE, ?LINE, disabled}),
  	rate6(Subscriber, initial, 0, 0, 0, 0, SessionAttributes);
  rate4(radius, Subscriber, Price, Validity,
  		initial, [], [], SessionAttributes) ->
  erlang:display({?MODULE, ?LINE, SessionAttributes}),
  	rate5(Subscriber, Price, Validity, initial,
  			0, get_reserve(Price), SessionAttributes);
  rate4(radius, Subscriber, #price{units = Units} = Price, Validity,
  
negative.code: 		[#bucket{units = Type, termination_date = Expires,
  		remain_amount = Remain, reservations = Reservations} = B | T],
  		Charged, Acc) ->
  	case lists:keytake(SessionId, 3, Reservations) of
  		{value, {_, Amount, _}, NewReservations} when Amount >= Charge,
  				((Expires == undefined) or (Now < Expires)) ->
  