fixed shift decrement bug