more profiling within evaluate()