anchor.diff:  		CurrencyCode = prod_price_price_c_code(erlang_term, ProdPriceObj),
   		RCPeriod = prod_price_rc_period(erlang_term, Object),
   		ProdDescirption = prod_price_description(erlang_term, Object),
  -		ProdUOMesasure = proplists:get_value("unitOfMeasure", Object, ""),
   		ProdValidity = validity_period(ProdSTime, ProdETime),
   		if
   			ProdValidity =/= {error, format_error} ->
  -				{ProdUnits, ProdSize} = product_unit_of_measure(ProdUOMesasure),
  +				{ProdUnits, ProdSize} = prod_price_ufm(erlang_term, Object),
   				Size = product_size(ProdUnits, octets, ProdSize),
   				Price1 = #price{name = ProdName, description = ProdDescirption,
   				type = ProdPriceType, units = ProdUnits, size = Size,
  
positive.code: 			ETime - STime
  	end.
  
  -spec product_unit_of_measure(UnitsOfMeasure) -> Result
  	when
  		UnitsOfMeasure	:: string(),
  		Result			:: {Units, Size},
  		Units				:: undefined | unit_of_measure(),
  		Size				:: undefined | pos_integer().
  %% @doc return units type and size of measurement of a product
  %% @private
  product_unit_of_measure("") ->
  	{undefined, undefined};
  product_unit_of_measure(UnitsOfMeasure) ->
  	LowerUOM = string:to_lower(UnitsOfMeasure),
  	product_unit_of_measure1(LowerUOM).
  %% @hidden
  product_unit_of_measure1(UnitsOfMeasure) ->
  	Suffix = "octets",
  	case lists:suffix(Suffix, UnitsOfMeasure) of
  		true ->
  			[Size] = string:tokens(UnitsOfMeasure, Suffix),
  			{octets, list_to_integer(Size)};
  		false ->
  			product_unit_of_measure2(UnitsOfMeasure)
  	end.
  %% @hidden
  product_unit_of_measure2(UnitsOfMeasure) ->
  	Suffix = "gb",
  	case lists:suffix(Suffix, UnitsOfMeasure) of
  		true ->
  			[Size] = string:tokens(UnitsOfMeasure, Suffix),
  			{gb, list_to_integer(Size)};
  		false ->
  			product_unit_of_measure3(UnitsOfMeasure)
  	end.
  %% @hidden
  product_unit_of_measure3(UnitsOfMeasure) ->
  	Suffix = "mb",
  	case lists:suffix(Suffix, UnitsOfMeasure) of
  		true ->
  			[Size] = string:tokens(UnitsOfMeasure, Suffix),
  			{mb, list_to_integer(Size)};
  		false ->
  			product_unit_of_measure4(UnitsOfMeasure)
  	end.
  %% @hidden
  product_unit_of_measure4(UnitsOfMeasure) ->
  	Suffix = "cents",
  	case lists:suffix(Suffix, UnitsOfMeasure) of
  		true ->
  			[Size] = string:tokens(UnitsOfMeasure, Suffix),
  			{cents, list_to_integer(Size)};
  		false ->
  			product_unit_of_measure5(UnitsOfMeasure)
  	end.
  %% @hidden
  product_unit_of_measure5(UnitsOfMeasure) ->
  	Suffix = "seconds",
  	case lists:suffix(Suffix, UnitsOfMeasure) of
  		true ->
  			[Size] = string:tokens(UnitsOfMeasure, Suffix),
  			{seconds, list_to_integer(Size)};
  		false ->
  			product_unit_of_measure6(UnitsOfMeasure)
  	end.
  %% @hidden
  product_unit_of_measure6(_UnitsOfMeasure) ->
  	{undefined, undefined}.
  
  -spec product_size(UnitsFrom, UnitsTo, Size) -> Result
  
negative.code: 		{_, {struct, ProdAlterPriceObj}} = lists:keyfind("price", 1, ProdAlterObj),
  		ProdAlterAmount = price_alter_amount(erlang_term, ProdAlterPriceObj),
  		ProdAlterDescirption = price_alter_description(erlang_term, ProdAlterObj),
  		{ProdAlterUnits, ProdAlterSize} = prod_price_ufm(erlang_term, ProdAlterObj),
  		AlterSize = product_size(ProdAlterUnits, octets, ProdAlterSize),
  		#alteration{name = ProdAlterName, description = ProdAlterDescirption,
  			units = ProdAlterUnits, size = AlterSize, amount = ProdAlterAmount}
  