replaced with PathUtils::normalize