splitPath is private