Shifter algorithm