reflect with range, offset