1 spun out as separate class since it's used by interp and task 2 no reason to keep it an interp method