diff --git a/src/Types/Array.js b/src/Types/Array.js
index e4ab55b752b28a3c82d1589da5b734222faa0130..418c3104ffd193a53e5d4b6893728f9fdd99f38e 100644
--- a/src/Types/Array.js
+++ b/src/Types/Array.js
@@ -52,6 +52,9 @@
         this.eventHandler.callUserEventListeners(userEvents);
       });
     }
+    get length () {
+      return this.idArray.length;
+    }
     get (pos) {
       if (pos == null || typeof pos !== "number") {
           throw new Error("pos must be a number!");
diff --git a/src/Types/TextBind.js b/src/Types/TextBind.js
index 73ffae5e1eb25ab65741317e8caff8c575e994a1..4f88991bd9a4499132dcfe5d82745620de8c0452 100644
--- a/src/Types/TextBind.js
+++ b/src/Types/TextBind.js
@@ -160,7 +160,7 @@
             return true;
           } else if (char.length > 0) {
             var r = createRange();
-            var pos = Math.min(r.left, r.right);
+            var pos = Math.min(r.left, r.right, word.length);
             var diff = Math.abs(r.right - r.left);
             word.delete(pos, diff);
             word.insert(pos, char);