instance eval works but needs reorganizing