extracted shift_extra method