action interpreter refactoring