public Double evaluateRelativeAccuracy(HashMap<String, Double> result, String wanted) {
		ValueComparator bvc = new ValueComparator(result);
		TreeMap<String, Double> sortedResult = new TreeMap<String, Double>(bvc);
		sortedResult.putAll(result);
		Entry<String, Double> properHit = sortedResult.ceilingEntry(wanted);
		Entry<String, Double> bestWrongHit;
		if(verbose) System.out.println("\nrelative accuracy for: "+wanted);
		if(verbose) System.out.println("proper key value "+properHit.getKey()+" "+properHit.getValue().toString());
		if(verbose) System.out.println("first key value "+sortedResult.firstEntry().getKey()+" "+sortedResult.firstEntry().getValue().toString());
		if (properHit.getKey() == sortedResult.firstEntry().getKey()) {
			bestWrongHit = sortedResult.higherEntry(wanted);
		//	System.out.println("lower key value "+bestWrongHit.getKey()+" "+bestWrongHit.getValue().toString());
		}
		else bestWrongHit = sortedResult.firstEntry();
		if(verbose) System.out.println("best wrong key value "+bestWrongHit.getKey()+" "+bestWrongHit.getValue().toString());
		return properHit.getValue() - bestWrongHit.getValue();
	}