fixed shift bug