ranges are copied in each adaptor