refactored DWLScoreProducer, cache is now used whenever possible, major speedup