anchor.diff:  update_service_rating_b1([], _SCID, _SI, Acc) ->
   	Acc.
   
  --spec final_service_rating_b(MSCC, ServiceContextId,
  -		Destination, ServiceInformation) -> ServiceRating
  +-spec final_service_rating(MSCC, ServiceContextId,
  +		Destination, ServiceInformation, Class) -> ServiceRating
   	when
   		MSCC :: [#'3gpp_ro_Multiple-Services-Credit-Control'{}],
   		ServiceContextId :: string(),
   		ServiceInformation :: [tuple()],
   		Destination :: string() | undefined,
  +		Class :: a | b,
   		ServiceRating :: [{struct, [tuple()]}].
   %% Create list of service elements to be rated.
  -final_service_rating_b(MSCC, ServiceContextId, undefined, ServiceInformation) ->
  +final_service_rating(MSCC, ServiceContextId, undefined, ServiceInformation, Class) ->
   	SCID = {"serviceContextId", ServiceContextId},
  -	final_service_rating_b1(MSCC, SCID, ServiceInformation, undefined, []);
  -final_service_rating_b(MSCC, ServiceContextId, ServiceInformation, Destination) ->
  +	final_service_rating1(MSCC, SCID, ServiceInformation, undefined, Class, []);
  +final_service_rating(MSCC, ServiceContextId, ServiceInformation, Destination, Class) ->
   	SCID = {"serviceContextId", ServiceContextId},
   	Des = {"destinationId", {array, [{struct, [{"destinationIdType", "DN"},
   			{"destinationIdData", Destination}]}]}},
  -	final_service_rating_b1(MSCC, SCID, ServiceInformation, Des, []).
  -%% @hidden
  -final_service_rating_b1([#'3gpp_ro_Multiple-Services-Credit-Control'{
  +	final_service_rating1(MSCC, SCID, ServiceInformation, Des, Class, []).
  +%% @hidden
  +final_service_rating1([#'3gpp_ro_Multiple-Services-Credit-Control'{
   		'Used-Service-Unit' = USU, 'Service-Identifier' = SI,
  -		'Rating-Group' = RG} = _MSCC | T], SCID, SInfo, Des, Acc) ->
  +		'Rating-Group' = RG} = _MSCC | T], SCID, SInfo, Des, Class, Acc) ->
   	Acc1 = case SI of
   		[] ->
   			[];
  
positive.code: post_request_scur(SubscriberIds, SvcContextId,
  		SessionId, MSCC, Location, final, a) ->
  	Path = get_option(nrf_uri) ++ get_ref(SessionId) ++ "/" ++ "release",
  	ServiceRating = final_service_rating_b(MSCC, binary_to_list(SvcContextId),
  			undefined, Location),
  	post_request_scur1(SubscriberIds, SessionId, ServiceRating, Path);
  post_request_scur(SubscriberIds, SvcContextId,
  		SessionId, MSCC, Location, final, b) ->
  	Path = get_option(nrf_uri) ++ get_ref(SessionId) ++ "/" ++ "release",
  	ServiceRating = final_service_rating_b(MSCC, binary_to_list(SvcContextId),
  			undefined, Location),
  	post_request_scur1(SubscriberIds, SessionId, ServiceRating, Path).
  %% @hidden
  post_request_scur1(SubscriberIds, SessionId, ServiceRating, Path) ->
  
negative.code: post_request_ecur(SubscriberIds, SvcContextId,
  		SessionId, MSCC, Location, Destination, final, a) ->
  	Path = get_option(nrf_uri) ++ get_ref(SessionId) ++ "/" ++ "release",
  	ServiceRating = final_service_rating(MSCC, binary_to_list(SvcContextId),
  			Location, Destination, a),
  	post_request_ecur1(SubscriberIds, SessionId, ServiceRating, Path);
  post_request_ecur(SubscriberIds, SvcContextId,
  		SessionId, MSCC, Location, Destination, final, b) ->
  	Path = get_option(nrf_uri) ++ get_ref(SessionId) ++ "/" ++ "release",
  	ServiceRating = final_service_rating(MSCC, binary_to_list(SvcContextId),
  			Location, Destination, b),
  	post_request_ecur1(SubscriberIds, SessionId, ServiceRating, Path).
  %% @hidden
  post_request_ecur1(SubscriberIds, SessionId, ServiceRating, Path) ->
  