2 + 2 evaluator, needs perfect hash improvement, and io functionality.