first evaluate method