WIP: implementing walk
WIP: walk interface decided