diff --git a/README.md b/README.md
index e062cff74440ff0f8ab84bfa3fdb175514518e7e..18cf3096ceb286f752f8690f4b98537462237a99 100644
--- a/README.md
+++ b/README.md
@@ -30,12 +30,14 @@ Sie dient als erleichterte Bedienung der IRRemote.h Bibliothek.
 Zur Verwendung siehe zunächst das Beispiel `IRReceiver.ino`
 
 **Einbinden der Bibliothek:**
-
-`#include <bits_ir_receiver.h>`
+```arduino
+#include <ir_controller.h>
+```
 
 **Instanziieren:**
-
-`BitsIrReceiver ir_sensor(IR_PIN);`
+```arduino
+IrController ir_sensor(IR_PIN);
+```
 
 **Aufrufen der Methoden:**
 - Um den IR-Empfänger zu initialisieren wird folgende Methode im `void setup()` ausgeführt: `ir_sensor.begin()`
diff --git a/examples/IRReceiver/IRReceiver.ino b/examples/IRReceiver/IRReceiver.ino
index 514c16e37b73b15ab994153cfceb73396c11416a..cf1accf69fb6f8d479103e4fee261b9ac1de4fe5 100644
--- a/examples/IRReceiver/IRReceiver.ino
+++ b/examples/IRReceiver/IRReceiver.ino
@@ -1,8 +1,8 @@
-#include "ir_receiver.h"
+#include "ir_controller.h"
 
-#define IR_PIN 46
-IrReceiver ir_sensor(IR_PIN);
-int command;
+const uint8_t IR_PIN = 46;
+IrController ir_sensor(IR_PIN);
+uint8_t command;
 
 void setup(){
     Serial.begin(115200);
diff --git a/ir_receiver.h b/ir_controller.h
similarity index 73%
rename from ir_receiver.h
rename to ir_controller.h
index c07f209b5f1373c672fe3ba816e4fa1bd05b0a99..e10ad9f22e33d7b68c263ee867ad5440013aefd6 100644
--- a/ir_receiver.h
+++ b/ir_controller.h
@@ -1,5 +1,5 @@
-#ifndef IR_RECEIVER_H
-#define IR_RECEIVER_H
+#ifndef IR_CONTROLLER_H
+#define IR_CONTROLLER_H
 
 /* ****************************************** *
  * IR Remote                                  *
@@ -31,15 +31,32 @@
 #define IR_USE_AVR_TIMER3
 #include <IRremote.h>
 
-class IrReceiver
+class IrController
 {
 public:
-    IrReceiver(uint8_t data_pin);
-    void begin();
-    uint8_t receive_command();
+    IrController(const uint8_t DATA_PIN){
+        IRrecv ir_receiver(DATA_PIN);
+    };
+
+    void begin()
+    {
+        ir_receiver.enableIRIn();
+    };
+
+    int receive_command()
+    {
+        uint8_t ir_command = 0;
+        if (ir_receiver.decode())
+        {
+            ir_command = ir_receiver.decodedIRData.command;
+            ir_receiver.resume();
+        }
+        return ir_command;
+    };
 
 private:
     IRrecv ir_receiver;
 };
 
+
 #endif
\ No newline at end of file
diff --git a/ir_receiver.cpp b/ir_receiver.cpp
deleted file mode 100644
index 63a1f6813fd7d5d78fa8e030fc29b8649e6a5cf6..0000000000000000000000000000000000000000
--- a/ir_receiver.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-#include "bits_ir_receiver.h"
-
-BitsIrReceiver::BitsIrReceiver(uint8_t data_pin) {
-    IRrecv ir_receiver(data_pin);
-}
-
-void BitsIrReceiver::begin() {
-    ir_receiver.enableIRIn();
-}
-
-int BitsIrReceiver::receive_command() {
-    uint8_t ir_command = 0;
-    if (ir_receiver.decode())
-    {
-        ir_command = ir_receiver.decodedIRData.command;
-        ir_receiver.resume();
-    }
-    return ir_command;
-}