fix shift bugs