diff --git a/ide/qml/NotebookCell.qml b/ide/qml/NotebookCell.qml
index a441b73..3466d05 100644
--- a/ide/qml/NotebookCell.qml
+++ b/ide/qml/NotebookCell.qml
@@ -3,51 +3,89 @@
 import QtQuick.Controls.Material 2.0
 import QtQuick.Layouts 1.0
 
-ColumnLayout {
+Item {
     id: root
 
     required property string code
     required property string result
 
-    RowLayout {
-        Layout.fillWidth: true
+    signal insertBelowClicked()
+    signal codeEditingFinished(string code)
+    signal cellFocused()
 
-        Button {
-            Layout.alignment: Qt.AlignTop
-            icon.source: "qrc:///icons/play-circle.svg"
-            icon.color: Material.color(Material.Grey, Material.Shade600)
-            flat: true
-        }
+    height: column.height
 
-        ColumnLayout {
+    MouseArea {
+        id: selectCell
+
+        anchors.fill: column
+
+        onClicked: root.cellFocused()
+    }
+
+    ColumnLayout {
+        id: column
+
+        width: parent.width
+
+        RowLayout {
+            id: row
             Layout.fillWidth: true
-            Layout.fillHeight: true
 
-            TextArea {
+            RoundButton {
+                Layout.alignment: Qt.AlignTop
+                icon.source: "qrc:///icons/play-circle.svg"
+                icon.color: Material.color(Material.Grey, Material.Shade600)
+                flat: true
+            }
+
+            ColumnLayout {
                 Layout.fillWidth: true
                 Layout.fillHeight: true
-                id: code
-                font.family: "monospace"
-                text: root.code
-                selectByMouse: true
-                wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
 
-                Keys.onTabPressed: {
-                    var pos = cursorPosition + 4
-                    text += "    ";
-                    cursorPosition = pos
+                TextArea {
+                    Layout.fillWidth: true
+                    Layout.fillHeight: true
+                    id: code
+                    font.family: "monospace"
+                    text: root.code
+                    selectByMouse: true
+                    wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
+
+                    Keys.onTabPressed: {
+                        var pos = cursorPosition + 4
+                        text = text.slice(0, cursorPosition) + "    " + text.slice(cursorPosition);
+                        cursorPosition = pos
+                    }
+
+                    Keys.onEscapePressed: {
+                        root.forceActiveFocus()
+                    }
+
+                    onEditingFinished: {
+                        root.codeEditingFinished(text)
+                    }
+
+                    onFocusChanged: if (focus) root.cellFocused()
+                }
+
+                Label {
+                    visible: root.result.length > 0
+                    Layout.fillWidth: true
+                    font.family: "monospace"
+                    text: root.result
                 }
             }
 
-            Label {
-                Layout.fillWidth: true
-                font.family: "monospace"
-                text: root.result
+            RoundButton {
+                icon.source: "qrc:///icons/trash.svg"
+                icon.color: Material.color(Material.Grey, Material.theme == Material.Dark ? Material.Shade400 : Material.Shade600)
+                flat: true
             }
         }
-    }
 
-    InsertRow {
-
+        InsertRow {
+            onInsertClicked: root.insertBelowClicked()
+        }
     }
 }
