optimize array shifting
optimize array shifting