add logging, remove IFileSystem