shift check to do less pointless checking