all warmup logic now in warmup method