             if (currentStep > currentLevel) {
                 nextLevel();
             } else {
-                buffer.drawText(stringBuffer.start()->put(currentStep)->put(":")->put(currentLevel)->get(),42,52,buffer.rgb(255,128,32), &virtualDJ_5ptFontInfo);
+                buffer.drawText(stringBuffer.start()->putDec(currentStep)->put(":")->putDec(currentLevel)->get(),42,52,buffer.rgb(255,128,32), &virtualDJ_5ptFontInfo);
             }
         }
 

        if (ds->scores.isHighEnough(ds->currentScore)) {
            static uint8_t tag[3] = {0, 0, 0};
            static uint8_t tagPos = 0;
            const char* alpha = " abcdefghijklmnopqrstuvwxyz0123456789";
            uint8_t currentPos = tag[tagPos];
            char prevIdx = (currentPos + 37 - 1) % (37);
            char nextIdx = (currentPos + 37 + 1) % (37);

            const uint8_t grey = 128;



void GameOverScreen::loop(DuinoSays* ds) {
    ds->buffer.drawText(stringBuffer.start()->load(PSTR("game over"))->get(),20,16,ds->buffer.rgb(255,128,32), &virtualDJ_5ptFontInfo);
    ds->buffer.drawText(stringBuffer.start()->load(PSTR("score: "))->putDec(ds->currentScore)->get(),
                        28 - (ds->currentScore / 10) * 5,40,ds->buffer.rgb(192,192,192), &virtualDJ_5ptFontInfo);
    if (ds->progressCounter < 50) {
        ds->progressCounter++;
