hide library file access behind a new PDFileManager class cluster