uri must be an URI