without loopButton