diff --git a/patterns.py b/patterns.py
deleted file mode 100644
index bc2c030..0000000
--- a/patterns.py
+++ /dev/null
@@ -1,114 +0,0 @@
-from machine import Pin
-from neopixel import NeoPixel
-import _thread
-import time, math
-import sys
-
-class LedPatterns:
-    def __init__(self, pin, num_leds):
-        self.num_leds = num_leds
-        self.np = NeoPixel(Pin(pin), num_leds)
-        self.run = True
-    
-    def color_chase(self, color, wait):
-        self.run = True
-        for i in range(self.num_leds):
-            self.np[i] = color
-            self.np.write()
-            if not run:
-                break
-            time.sleep(wait)
-    
-    def wheel(self, pos):
-        if pos < 0 or pos > 255:
-            return (0, 0, 0)
-        if pos < 85:
-            return (255 - pos * 3, pos * 3, 0)
-        if pos < 170:
-            pos -= 85
-            return (0, 255 - pos * 3, pos * 3)
-        pos -= 170
-        return (pos * 3, 0, 255 - pos * 3)
-    
-    def rainbow_cycle(self, wait):
-        run = True
-        for j in range(255):
-            for i in range(self.num_leds):
-                self.np[i] = self.wheel((i * 256 // self.num_leds) + j)
-            self.np.write()
-            if not run:
-                break
-            time.sleep(wait)
-    
-    def breathing(self, color, duration):
-        steps = 256
-        for _ in range(steps):
-            brightness = int(255 * abs(steps / 2 - _) / (steps / 2))
-            self.np.fill((brightness * color[0] // 255, brightness * color[1] // 255, brightness * color[2] // 255))
-            self.np.write()
-            time.sleep(duration / steps)
-    
-    def color_transition(self, start_color, end_color, duration):
-        steps = 256
-        for step in range(steps):
-            color = (
-                int(start_color[0] + (end_color[0] - start_color[0]) * step / steps),
-                int(start_color[1] + (end_color[1] - start_color[1]) * step / steps),
-                int(start_color[2] + (end_color[2] - start_color[2]) * step / steps),
-            )
-            self.np.fill(color)
-            self.np.write()
-            if not self.running():
-                return
-            time.sleep(duration / steps)
-            
-    def scanner(self, color, speed):
-        position = 0
-        direction = 1
-
-        while True:
-            self.np.fill((0, 0, 0))
-            self.np[position] = color
-            self.np.write()
-            time.sleep(speed)
-            position += direction
-            if position == self.num_leds - 1 or position == 0:
-                direction *= -1
-    
-    def bidirectional_scanner(self, color_left, color_right=None, speed=0.1):
-        color_right = color_right or color_left
-        position_left = 0
-        position_right = self.num_leds - 1
-        direction_left = 1
-        direction_right = -1
-        while True:
-            self.np.fill((0, 0, 0))
-            self.np[position_left] = color_left
-            self.np[position_right] = color_right
-            self.np.write()
-            time.sleep(speed)
-
-            position_left += direction_left
-            position_right += direction_right
-
-            if position_left == self.num_leds - 1 or position_left == 0:
-                direction_left *= -1
-            if position_right == self.num_leds - 1 or position_right == 0:
-                direction_right *= -1
-    
-    def sine_wave_propagation(self, color, speed):
-        frequency = 10
-        phase = 0
-        while True:
-            self.np.fill((0, 0, 0)) 
-            for i in range(self.num_leds):
-                brightness = int(127.5 * (math.sin(frequency * i + phase) + 1))
-                self.np[i] = (brightness * color[0] // 255, brightness * color[1] // 255, brightness * color[2] // 255)
-            self.np.write()
-            time.sleep(speed)
-            phase += 0.1
-
-    def fill(self,color):
-        for i in range(self.num_leds):
-            self.np[i] = color
-            self.np.write()