modified Lab12, adding instance_eval