anchor.diff:  		    ets:delete(E, {urlc, Path}),
   		    ets:update_counter(E, num_files, -1),
   		    ets:update_counter(E, num_bytes, -FI#file_info.size),
  -		    url_type(GC, SC, Path, QueryPart);
  +		    url_type(GC, SC, Path);
   		true ->
   		    ?Debug("Serve page from cache ~p", [{When , N, N-When}]),
  -		    ets:update_counter(E, {urlc, Path}, 1),
  -		    %% Kindof ugly here, we cache the yaws file
  -		    %% with the first time query part and then
  -		    %% replace the q here .....
  -
  -		    UT#urltype{q = QueryPart}
  +		    ets:update_counter(E, {urlc, Path}, 1)
   	    end
       end.
   
  
positive.code:     ?Debug("OPTIONS", []),
      ok = inet_setopts(SC, CliSock, [{packet, raw}, binary]),
      flush(SC, CliSock, Head#headers.content_length),
      _ARG = make_arg(CliSock, Head, Req, GC, SC),
      ?Debug("OPTIONS delivering", []),
      deliver_options(CliSock, Req, GC, SC).
  
  make_arg(CliSock, Head, Req, _GC, SC) ->
      ?TC([{record, _GC, gconf}, {record, SC, sconf}]),
      #arg{clisock = CliSock,
  	 headers = Head,
  	 req = Req,
  	 opaque = SC#sconf.opaque,
  	 pid = self(),
  	 docroot = SC#sconf.docroot}.
  
  bad_request(CliSock, GC, SC, Req, Head) ->
      ?TC([{record, GC, gconf}, {record, SC, sconf}]),
  
negative.code:     
  
  %% return #urltype{}
  do_url_type(SC, Path) ->
      case split_path(SC, Path, [], []) of
  	slash ->
  	    maybe_return_dir(SC#sconf.docroot, lists:flatten(Path));
  	forbidden ->  %% generate 403 forbidden
  