progress on L2 interpreter, and some small refactorings