rerange struct