anchor.diff:  			accumulated_balance(Buckets, Product#product.id)};
   charge3(Service, Product, Buckets, event,
   		{Units, Charge}, {Units, Charged}, {Units, 0}, {Units, 0},
  -		#state{rated = Rated}, _ChargingKey, OldBuckets)
  +		_State, Rated, _ChargingKey, OldBuckets)
   		when Charged >= Charge ->
   	{NewBRefs, DeletedBuckets}
   			= update_buckets(Product#product.balance, OldBuckets, Buckets),
  
positive.code: 						{NewChargeUnits, 0, Buckets4} ->
  							charge3(Service, Product, Buckets4, interim,
  									DebitAmount, {Units, UnitsCharged},
  									{Units, 0}, {Units, 0}, State, ChargingKey, Buckets);
  						{NewUnitsCharged, 0, Buckets4}
  								when NewUnitsCharged < NewChargeUnits->
  							Now = erlang:system_time(millisecond),
  
negative.code: 									units = Units, product = [ProductId]} | Buckets4],
  							charge3(Service, Product, Buckets5, interim, DebitAmount,
  									{Units, UnitsCharged + NewUnitsCharged},
  									ReserveAmount, {Units, 0}, State, Rated, ChargingKey, Buckets)
  					end;
  				false ->
  					Now = erlang:system_time(millisecond),
  