add listFile, isDirectory to File; add IntersectionStrategy