add state for shift