change push to shift to avoid flickering