use queue for file walking