anchor.diff:  							remain_amount = PriceCharged - PriceCharge,
   							reservations = [NewReservation],
   							units = cents, product = [ProductId]} | Buckets4],
  -					rate7(Service, Buckets5, final, DebitAmount, {Units, TotalUnits},
  +					charge3(Service, Buckets5, final, DebitAmount, {Units, TotalUnits},
   							ReserveAmount, ReserveAmount, State#state{rated = Rated3})
   			end
   	end;
  -rate6(Service, Buckets1,
  +charge2(Service, Buckets1,
   		#price{units = Units, size = UnitSize, amount = UnitPrice,
   		type = PriceType, currency = Currency}, event,
   		{Units, Amount} = DebitAmount, {Units, 0} = ReserveAmount,
  
positive.code: 	ok = mnesia:write(Service2),
  	{disabled, SessionList, DeletedBuckets,
  			accumulated_balance(NewBuckets, P#product.id)};
  rate7(#service{session_attributes = SessionList} = Service1, Buckets, _Flag,
  		{Units, Charge}, {Units, Charged}, {Units, Reserve}, {Units, Reserved},
  		#state{session_id = SessionId, service_id = ServiceId,
  		charging_key = ChargingKey, buckets = OldBuckets,
  
negative.code: 		{Description, Amount, _} when is_integer(Amount) ->
  			case Amount of
  				N when N >= 0 ->
  					charge(Protocol, Service, Buckets,
  							Price#price{amount = N}, Flag, DebitAmounts, ReserveAmounts,
  							State#state{rated = Rated#rated{price_type = tariff,
  							description = Description}});
  