add children keys
changed walk to use :children