add logical for eval