added Path::normalize