add shift and rotate