add shift handler