diff --git a/examples/structural_mechanics/python_interface/structural_mechanics_python_interface_test.ipynb b/examples/structural_mechanics/python_interface/structural_mechanics_python_interface_test.ipynb
index 31b08e9a1..a0dff4edf 100644
--- a/examples/structural_mechanics/python_interface/structural_mechanics_python_interface_test.ipynb
+++ b/examples/structural_mechanics/python_interface/structural_mechanics_python_interface_test.ipynb
@@ -1,355 +1,470 @@
 {
  "cells": [
   {
    "cell_type": "markdown",
    "metadata": {},
    "source": [
     "# Test of Structural Mechanics\n",
     "We will now test the python interface of teh structural mechanics part.\n",
     "For that we will use the test `test/test_model/test_structural_mechanics_model/test_structural_mechanics_model_bernoulli_beam_2.cc`, which we will simply reproduce.\n"
    ]
   },
   {
    "cell_type": "code",
    "execution_count": 1,
    "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Error importing pyakantu, try the other one\n"
+     ]
+    }
+   ],
+   "source": [
+    "try:\n",
+    "    import pyakantu as pyaka\n",
+    "except:\n",
+    "    print(\"Error importing pyakantu, try the other one\")\n",
+    "    import py11_akantu as pyaka\n",
+    "    \n",
+    "import copy\n",
+    "import numpy"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
    "outputs": [],
    "source": [
-    "import py11_akantu as pyaka"
+    "import matplotlib\n",
+    "import matplotlib.pyplot as plt\n",
+    "import numpy as np"
    ]
   },
   {
    "cell_type": "markdown",
    "metadata": {},
    "source": [
     "### Creating the Mesh"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 3,
    "metadata": {},
    "outputs": [],
    "source": [
     "# Create a mesh for the two dimensional case\n",
     "beam = pyaka.Mesh(2)"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "We now create the connectivity array for the beam."
+   ]
+  },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 4,
    "metadata": {},
    "outputs": [],
    "source": [
-    "# read in the mesh description\n",
-    "beam.read(\"_bernoulli_beam_2.msh\", pyaka.MeshIOType._miot_gmsh_struct)"
+    "beam.addConnectivityType(pyaka._bernoulli_beam_2)"
    ]
   },
   {
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "### Creating the Model"
+    "We need a `MeshAccessor` in order to change the size of the mesh entities."
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 5,
    "metadata": {},
    "outputs": [],
    "source": [
-    "model = pyaka.StructuralMechanicsModel(beam)"
+    "beamAcc = pyaka.MeshAccessor(beam)"
    ]
   },
   {
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "#### Setting up the Modell"
+    "Now we create the array to store the nodes and the connectivities and give them their size. "
    ]
   },
   {
-   "cell_type": "markdown",
+   "cell_type": "code",
+   "execution_count": 6,
    "metadata": {},
+   "outputs": [],
    "source": [
-    "##### Creating and Inserting the Materials"
+    "beamAcc.resizeConnectivity(2, pyaka._bernoulli_beam_2)\n",
+    "beamAcc.resizeNodes(3)"
    ]
   },
   {
-   "cell_type": "code",
-   "execution_count": 6,
+   "cell_type": "markdown",
    "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "0"
-      ]
-     },
-     "execution_count": 6,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
    "source": [
-    "mat1 = pyaka.StructuralMaterial()\n",
-    "mat1.E = 3e10;\n",
-    "mat1.I = 0.0025;\n",
-    "mat1.A = 0.01;\n",
-    "model.addMaterial(mat1)"
+    "#### Setting the Nodes"
    ]
   },
   {
    "cell_type": "code",
    "execution_count": 7,
    "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "1"
-      ]
-     },
-     "execution_count": 7,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
+   "outputs": [],
    "source": [
-    "mat2 = pyaka.StructuralMaterial()\n",
-    "mat2.E = 3e10;\n",
-    "mat2.I = 0.00128;\n",
-    "mat2.A = 0.01;\n",
-    "model.addMaterial(mat2)"
+    "Nodes = beam.getNodes()\n",
+    "Nodes[0, :] = [0., 0.]\n",
+    "Nodes[1, :] = [1., 0.]\n",
+    "Nodes[2, :] = [2., 0.]"
    ]
   },
   {
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "##### Initializing the Model"
+    "#### Setting the Connections"
    ]
   },
   {
    "cell_type": "code",
    "execution_count": 8,
    "metadata": {},
    "outputs": [],
    "source": [
-    "#model.initFull(pyaka.AnalysisMethod._static)\n",
-    "model.initFull()"
+    "Conn = beam.getConnectivity(pyaka._bernoulli_beam_2)\n",
+    "Conn[0, :] = [0, 1]\n",
+    "Conn[1, :] = [1, 2]"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
   {
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "##### Assigning the Materials"
+    "#### Ready\n",
+    "We have to make the mesh ready."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "beamAcc.makeReady()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Creating the Model"
    ]
   },
   {
    "cell_type": "code",
    "execution_count": 10,
    "metadata": {},
    "outputs": [],
    "source": [
-    "materials = model.getElementMaterialMap(pyaka.ElementType._bernoulli_beam_2)"
+    "model = pyaka.StructuralMechanicsModel(beam)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#### Setting up the Modell"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##### Creating and Inserting the Materials"
    ]
   },
   {
    "cell_type": "code",
    "execution_count": 11,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "array([[1693225798],\n",
-       "       [     21951]], dtype=uint32)"
+       "0"
       ]
      },
      "execution_count": 11,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "materials"
+    "mat1 = pyaka.StructuralMaterial()\n",
+    "mat1.E = 1e9\n",
+    "mat1.rho = 1.\n",
+    "mat1.I = 1.\n",
+    "mat1.Iz = 1.\n",
+    "mat1.Iy = 1.\n",
+    "mat1.A = 1.\n",
+    "mat1.GJ = 1.\n",
+    "model.addMaterial(mat1)"
    ]
   },
   {
-   "cell_type": "markdown",
+   "cell_type": "code",
+   "execution_count": 12,
    "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "1"
+      ]
+     },
+     "execution_count": 12,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
-    "Once we have written to the `materials` variable, everything becomes unstable.\n",
-    "And the kernel will die."
+    "mat2 = pyaka.StructuralMaterial()\n",
+    "mat2.E = 1e9\n",
+    "mat2.rho = 1.\n",
+    "mat2.I = 1.\n",
+    "mat2.Iz = 1.\n",
+    "mat2.Iy = 1.\n",
+    "mat2.A = 1.\n",
+    "mat2.GJ = 1.\n",
+    "model.addMaterial(mat2)"
    ]
   },
   {
-   "cell_type": "code",
-   "execution_count": null,
+   "cell_type": "markdown",
    "metadata": {},
-   "outputs": [],
    "source": [
-    "materials[0][0] = 0\n",
-    "materials[1][0] = 1"
+    "##### Initializing the Model"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 13,
    "metadata": {},
    "outputs": [],
    "source": [
-    "materials"
+    "model.initFull(pyaka.AnalysisMethod._implicit_dynamic)"
    ]
   },
   {
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "##### Setting Boundaries"
+    "##### Assigning the Materials"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 14,
    "metadata": {},
    "outputs": [],
    "source": [
-    "M = 3600.\n",
-    "q = -6000.\n",
-    "L = 10."
+    "materials = model.getElementMaterialMap(pyaka.ElementType._bernoulli_beam_2)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 15,
    "metadata": {},
    "outputs": [],
    "source": [
-    "forces = model.getExternalForce()\n",
-    "forces"
+    "materials[0][0] = 0\n",
+    "materials[1][0] = 1"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##### Setting Boundaries"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 16,
    "metadata": {},
    "outputs": [],
    "source": [
     "# Neumann\n",
+    "#  Apply a force of `10` at the last (right most) node.\n",
     "forces = model.getExternalForce()\n",
-    "forces[2, 2] = -M\n",
-    "forces[0, 1] =  q * L / 2\n",
-    "forces[0, 2] =  q * L * L / 12\n",
-    "forces[1, 1] =  q * L / 2\n",
-    "forces[1, 2] = -q * L * L / 12\n",
-    "forces"
+    "forces[:] = 0\n",
+    "forces[2, 0] = 10."
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 17,
    "metadata": {},
    "outputs": [],
    "source": [
     "# Dirichlets\n",
+    "# Block all dofs of the first node, since it is fixed.\n",
+    "#  All other nodes have no restrictions\n",
     "boundary = model.getBlockedDOFs()\n",
     "boundary[0, :] = True\n",
     "boundary[1, :] = False\n",
     "boundary[2, :] = False\n",
-    "boundary[2, 1] = True"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "model.getExternalForce()"
+    "#boundary[2, 0] = True"
    ]
   },
   {
    "cell_type": "markdown",
    "metadata": {},
    "source": [
     "### Solving the System"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 18,
    "metadata": {},
    "outputs": [],
    "source": [
-    "model.solveStep()"
+    "# Set up the system\n",
+    "deltaT = 1e-10\n",
+    "model.setTimeStep(deltaT)\n",
+    "solver = model.getNonLinearSolver()\n",
+    "solver.set(\"max_iterations\", 100)\n",
+    "solver.set(\"threshold\", 1e-8)\n",
+    "solver.set(\"convergence_type\", pyaka.SolveConvergenceCriteria.solution)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 19,
    "metadata": {},
    "outputs": [],
-   "source": []
+   "source": [
+    "# Perform N time steps.\n",
+    "#  At each step records the displacement of all three nodes in x direction.\n",
+    "N = 10000 \n",
+    "disp1 = np.zeros(N)\n",
+    "disp2 = np.zeros(N)\n",
+    "disp0 = np.zeros(N)\n",
+    "times = np.zeros(N)\n",
+    "\n",
+    "for i in range(N):\n",
+    "    model.solveStep()\n",
+    "    disp = model.getDisplacement()\n",
+    "    disp0[i] = disp[0, 0]\n",
+    "    disp1[i] = disp[1, 0]\n",
+    "    disp2[i] = disp[2, 0]\n",
+    "    times[i] = deltaT * i"
+   ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 20,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
    "source": [
-    "disp = model.getDisplacement()"
+    "plt.plot(times, disp0, color='k', label = \"left node (fix)\")\n",
+    "plt.plot(times, disp1, color='g', label = \"middle node\")\n",
+    "plt.plot(times, disp2, color='b', label = \"right node\")\n",
+    "\n",
+    "plt.title(\"Displacement in $x$ of the nodes\")\n",
+    "plt.xlabel(\"Time [S]\")\n",
+    "plt.ylabel(\"displacement [m]\")\n",
+    "\n",
+    "plt.legend()\n",
+    "\n",
+    "plt.show()"
    ]
   },
   {
-   "cell_type": "code",
-   "execution_count": null,
+   "cell_type": "markdown",
    "metadata": {},
-   "outputs": [],
    "source": [
-    "d1 = disp[1, 2]\n",
-    "d2 = disp[2, 2]\n",
-    "d3 = disp[1, 0]"
+    "What I do not understand is, why the middle node goes backwards?\n",
+    "This gopuld be the bug.\n",
+    "However an analytical solution must be claculated.\n",
+    "\n",
+    "I also think that the influence of the Young's modulus is not clearly visiable.\n",
+    "But I saw the influence of the density."
    ]
   },
   {
    "cell_type": "code",
    "execution_count": null,
    "metadata": {},
    "outputs": [],
-   "source": [
-    "d1, 5.6 / 4800"
-   ]
+   "source": []
   },
   {
    "cell_type": "code",
    "execution_count": null,
    "metadata": {},
    "outputs": [],
    "source": []
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# "
+   ]
   }
  ],
  "metadata": {
   "kernelspec": {
    "display_name": "Python 3",
    "language": "python",
    "name": "python3"
   },
   "language_info": {
    "codemirror_mode": {
     "name": "ipython",
     "version": 3
    },
    "file_extension": ".py",
    "mimetype": "text/x-python",
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
    "version": "3.9.1"
   }
  },
  "nbformat": 4,
  "nbformat_minor": 4
 }