checkpoint variants and random thresholds
improve block variation, move that code to const.js so the raise and lower code can use it too