Upgraded to ASM 5.0.3
Refactored
TODO notes