implemented PL_FileAPI