add a totally manifest driven generation method `ASM.apply`
add an example to the readme