change evaluate method