place loop only variables inside (smallest possible scope); micro optimizazions are not worth the tradeoff
try to not negate bools (faster?)
the other way wasn't that smart. we blocked several executor threads because all were waiting for the previous one