fix shift bug