add partial evaluator functions