added error handling in file walker
moved the logging of the final result
added Wait() for sub programs to the pipe