scoping should use an object
fix walk to worth with scoping change