first draft (basically working for windows at least) of DirecotryIterator/DirectoryIterable