add grammar
fix argument slicing
fix walk