added order processing
croak on failed walk()