 }
 
 void Button::draw(DuinoSays* duinoSays) {
-    const bool on = ScreenButtonState::isButtonOn(btn);
-    const int width = on ? 7 : 5;
-    const int height = on ? 23 : 25;
-    duinoSays->buffer.drawRect(x - width / 2,y - height / 2,width,height)->filledRect(on ? pressedColor : normalColor);
+    const bool on = isEnabled && ScreenButtonState::isButtonOn(btn);
+    const int width = on ? 8 : 6;
+    const int height = on ? 24 : 26;
+    const int xOffset = isEnabled ? 0 : ((x > 48) * 2 - 1) * 3;
+
+    duinoSays->buffer.drawRect(x - width / 2 + xOffset,y - height / 2,width,height)->filledRect(on ? pressedColor : normalColor);
     if (on && ScreenButtonState::isButtonActivated(btn)) {
-        duinoSays->particleSystem.spawn(btn, x,y,x<48?2000:-2000,0, 16);
+        isPressed = true;
+        duinoSays->particleSystem.spawn(btn, x,y,x<48?4000:-4000,0, 8);
+    } else {
+        isPressed = false;
     }
 }
 


    }

    void setup() {
        Wire.begin();
        display.begin();

    duinoSays->buffer.drawRect((x>>8) - width / 2,(y>>8) - height / 2,width,height)->filledRect(duinoSays->buffer.rgb(rel * r >> 8,rel * g >> 8,rel * b >> 8));
    x+=vx;
    y+=vy;
    vx -= vx>>2;
    vy -= vy>>2;
}

template<uint8_t maxParticles>
