fixed file walk recurse