delay and shift