Logic for all shift types