evaluate method