changed walk to use :children