don't use node's parse/format because it adds a trailing slash