new shift calculation, fixed