ASM refactoring