it could accept an `SplFileInfo` too