items missing in evaluate. eliminated unnecessary comments