using walk function instead of walk macro now everywhere