break dependency on ASM