diff --git a/README.md b/README.md
index 44fe086b9fd5188d0353aa192b31d9569e2adc93..e062cff74440ff0f8ab84bfa3fdb175514518e7e 100644
--- a/README.md
+++ b/README.md
@@ -27,19 +27,19 @@ Sie dient als erleichterte Bedienung der IRRemote.h Bibliothek.
 
 ## **Anwendung**
 
-Zur Verwendung siehe zunächst das Beispiel `IRReciver.ino`
+Zur Verwendung siehe zunächst das Beispiel `IRReceiver.ino`
 
 **Einbinden der Bibliothek:**
 
-`#include <BITsIRReciver.h>`
+`#include <bits_ir_receiver.h>`
 
 **Instanziieren:**
 
-`BitsIrReciver ir_sensor(IR_PIN);`
+`BitsIrReceiver 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()`
-- Für das Empfangen der Signale wird folgende Methode verwendet: `ir_sensor.recieve_command()`
+- Für das Empfangen der Signale wird folgende Methode verwendet: `ir_sensor.receive_command()`
 
 
 
diff --git a/bits_ir_receiver.cpp b/bits_ir_receiver.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..95bfdf50b500d884b4b5a506a8ce3d3bd5f11450
--- /dev/null
+++ b/bits_ir_receiver.cpp
@@ -0,0 +1,19 @@
+#include "bits_ir_receiver.h"
+
+BitsIrReceiver::BitsIrReceiver(int aPin) {
+    IRrecv ir_reciver(aPin);
+}
+
+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;
+}
diff --git a/bits_ir_receiver.h b/bits_ir_receiver.h
index 87ab2a17eed84d3279a170fc551f3b34d431bc15..9471d39befde3bf2def7283302d9ae46fa203d36 100644
--- a/bits_ir_receiver.h
+++ b/bits_ir_receiver.h
@@ -31,35 +31,15 @@
 #define IR_USE_AVR_TIMER3
 #include <IRremote.h>
 
-class BitsIrReciver
+class BitsIrReceiver
 {
 public:
-    BitsIrReciver(int aPin){
-        IRrecv ir_reciver(aPin);
-    };
-
-    void begin()
-    {
-        ir_reciver.enableIRIn();
-    };
-
-    int recieve_command()
-    {
-        if (ir_reciver.decode())
-        {
-            ir_command = ir_reciver.decodedIRData.command;
-            ir_reciver.resume();
-        }
-        else
-        {
-            ir_command = 0;
-        }
-        return ir_command;
-    };
+    BitsIrReceiver(uint8_t aPin);
+    void begin();
+    uint8_t receive_command();
 
 private:
-    IRrecv ir_reciver;
-    int ir_command;
+    IRrecv ir_receiver;
 };
 
 #endif
\ No newline at end of file
diff --git a/examples/IRReciver/IRReciver.ino b/examples/IRReceiver/IRReceiver.ino
similarity index 72%
rename from examples/IRReciver/IRReciver.ino
rename to examples/IRReceiver/IRReceiver.ino
index 15b504a5047f3702d9fe371f011ba526bfe9c02a..f4dcee225d74cc8adb8ff9343ac6e412205aff5c 100644
--- a/examples/IRReciver/IRReciver.ino
+++ b/examples/IRReceiver/IRReceiver.ino
@@ -1,7 +1,7 @@
 #include "bits_ir_receiver.h"
 
 #define IR_PIN 46
-BitsIrReciver ir_sensor(IR_PIN);
+BitsIrReceiver ir_sensor(IR_PIN);
 int command;
 
 void setup(){
@@ -10,7 +10,7 @@ void setup(){
 }
 
 void loop(){
-  command = ir_sensor.recieve_command();
+  command = ir_sensor.receive_command();
   if (command != 0){
     Serial.println(command);
   }