critical path evaluator
use dict not index