anchor.diff:  	true ->		     % must be return value from end conf case
   	    process_return_val1(Return, M,F,A, Loc, Final, []);
   	false -> % must be Config value from init conf case
  -	    case do_end_tc_call(M, F, Loc, {ok,A}, Return) of
  +	    case do_end_tc_call(M, F, {ok,A}, Return) of
   		{failed, FWReason} = Failed ->
   		    fw_error_notify(M,F,A, FWReason),
   		    {Failed, []};
  
positive.code: 		Skip = {skip,Reason} ->
  		    Line = get_loc(),
  		    Conf = [{tc_status,{skipped,Reason}}],
  		    NewRes = do_end_tc_call(Mod,Func, Line, {Skip,[Conf]}, Skip),
  		    {{0,NewRes},Line,[]};
  		{skip_and_save,Reason,SaveCfg} ->
  		    Line = get_loc(),
  		    Conf = [{tc_status,{skipped,Reason}},{save_config,SaveCfg}],
  		    NewRes = do_end_tc_call(Mod,Func, Line, {{skip,Reason},[Conf]},
  					    {skip,Reason}),
  		    {{0,NewRes},Line,[]};
  		FailTC = {fail,Reason} ->       % user fails the testcase
  		    EndConf = [{tc_status,{failed,Reason}} | hd(Args)],
  		    fw_error_notify(Mod, Func, EndConf, Reason),
  		    NewRes = do_end_tc_call(Mod,Func, {Mod,Func},
  					    {{error,Reason},[EndConf]},
  					    FailTC),
  		    {{0,NewRes},{Mod,Func},[]};
  
negative.code:     process_return_val1(Opts, M,F,A, Loc, RetVal, SaveOpts);
  process_return_val1([_|Opts], M,F,A, Loc, Final, SaveOpts) ->
      process_return_val1(Opts, M,F,A, Loc, Final, SaveOpts);
  process_return_val1([], M,F,A, _Loc, Final, SaveOpts) ->
      case do_end_tc_call(M,F, {Final,A}, Final) of
  	{failed,FWReason} ->
  	    {{failed,FWReason},SaveOpts};
  	NewReturn ->
  