added changes to improve the shift on primary calls