path string manipulation