volatile boolean to block the start method from starting multiple times
raw implementation of bit shifter