deal with error first in Walk