playing with ast and asm