anchor.diff:  			end
   	end,
   	case mnesia:transaction(F) of
  -		{atomic, {ok, Sub, Rated, DeletedBuckets, AccBalance}}
  +		{atomic, {{ok, Sub, Rated, DeletedBuckets, AccBalance}, _}}
   				when is_list(Rated); Rated == #rated{} ->
   			Rated1 = case Rated of
   				Rated when is_list(Rated) ->
  
positive.code: 	ok = mnesia:write(Product#product{balance = NewBRefs}),
  	Service2 = Service1#service{session_attributes = []},
  	ok = mnesia:write(Service2),
  	{out_of_credit, RedirectServerAddress, SessionList, DeletedBuckets,
  			accumulated_balance(NewBuckets, Product#product.id)};
  charge3(#service{session_attributes = SessionList} = Service1, Product, Buckets, initial,
  		{Units, 0}, {Units, 0}, {Units, _Reserve}, {Units, Reserved},
  
negative.code: 	Rated1 = rated(Debits, Rated),
  	Service2 = Service1#service{session_attributes = []},
  	ok = mnesia:write(Service2),
  	{out_of_credit, SessionList, Rated1, DeletedBuckets,
  			accumulated_balance(NewBuckets, Product#product.id)};
  charge3(#service{enabled = false, session_attributes = SessionList} = Service1, Product,
  		Buckets, _Flag, {Units, _Charge}, {Units, _Charged},
  