anchor.diff:  	ok = mnesia:write(Service2),
   	{disabled, SessionList, DeletedBuckets,
   			accumulated_balance(NewBuckets, P#product.id)};
  -rate7(#service{session_attributes = SessionList} = Service1, Buckets, _Flag,
  +charge3(#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,
  
positive.code: 		{Description, Amount, _} when is_integer(Amount) ->
  			case Amount of
  				N when N >= 0 ->
  					rate5(Protocol, Service, Buckets,
  							Price#price{amount = N}, Flag, DebitAmounts, ReserveAmounts,
  							State#state{rated = Rated#rated{price_type = tariff,
  							description = Description}});
  
negative.code: 									remain_amount = NewUnitsCharged - NewChargeUnits,
  									reservations = [NewReservation],
  									units = Units, product = [ProductId]} | Buckets4],
  							charge3(Service, Buckets5, interim, DebitAmount,
  									{Units, UnitsCharged + NewUnitsCharged},
  									ReserveAmount, {Units, 0}, State)
  					end;
  