move evaluate to the base utility