implement EvaluateStrategy as a base for other strategies