assume uri is always present