added some logging, simplified evaluator