diff --git a/README.md b/README.md
index 56f7fb5b39cd6ef9d30cfa622ec4408e4cddd580..5f753da44dcd0a83cab329ad69d48a211cdd6f91 100644
--- a/README.md
+++ b/README.md
@@ -56,7 +56,8 @@ Connection settings
                     "extractedAttributes": {
                         "batteryChargeLevel": 70,
                         "loadedItems": [23, 1, 25, 17],
-                        "errors": [2, 1, 6]
+                        "errors": [2, 1, 6],
+                        "theta": -0.9
                     },
                     "lastPosUpdate": "2021-09-14T09:41:20+00:00",
                     "zoneDescriptors": [
diff --git a/src/app/components/map/map.component.ts b/src/app/components/map/map.component.ts
index 4d67808ae7e04f7d5d53255f40fdbe5047046ed2..e4068cea02afcfb7e170f74a0a7776049c4dc097 100644
--- a/src/app/components/map/map.component.ts
+++ b/src/app/components/map/map.component.ts
@@ -6,7 +6,7 @@ import 'leaflet-arrowheads';
 import { IMqttMessage, MqttService } from 'ngx-mqtt';
 
 import { environment, MarkerColorMap } from 'src/environments/environment';
-import {Position, PositionUpdate, RelativePos, Quaternion, WGS84} from 'src/app/model/base-model';
+import {Position, PositionUpdate, RelativePos, WGS84} from 'src/app/model/base-model';
 
 
 @Component({
@@ -82,39 +82,12 @@ export class MapComponent implements OnInit {
 
     // Rotaion
     let quter = desc.orientation
-    // if (quter) {
-    //   // console.log("Init:", orient)
-    //   let orient = this.calcOrient(quter.w, quter.x, quter.y, quter.z)
-    //   // console.log("Orient:", orient)
-    //   let orientPoint: RelativePos = {
-    //     "x": orient[0] + pos.point.x, 
-    //     "y": orient[1] + pos.point.y,
-    //     "z": orient[2] + pos.point.z
-    //   }
-
-    //   let globPointOrient = this.ref2root(orientPoint)
-
-    //   if ('x' in pos.point) {
-    //     var globPos = this.ref2root(pos.point)
-    //   } else {
-    //     var globPos = L.latLng([pos.point.latitude, pos.point.longitude]);
-    //   }
-
-    //   // add arrow
-    //   var arrow = L.polyline([globPos, globPointOrient], {color: 'grey'}).arrowheads(
-    //     {
-    //       fill: true,
-    //       // size: '30%',
-    //       color: 'grey'
-    //     }
-    //   ).addTo(this.map);
-
-    // }
-
-    this.addMarker(key, pos, props, quter)
+
+
+    this.addMarker(key, pos, props, desc.extractedAttributes?.theta)
   }
 
-  addMarker(key: string, pos: Position, popup: string, quter: Quaternion) {
+  addMarker(key: string, pos: Position, popup: string, theta: number) {
     let point = pos.point
 
     if ('x' in point) {
@@ -149,20 +122,18 @@ export class MapComponent implements OnInit {
     }
 
     // --- Orientation
-    if (quter && 'x' in point) {
-      let orient = this.calcOrient(quter.w, quter.x, quter.y, quter.z)
-      let orientPoint: RelativePos = {
-        "x": orient[0] + point.x, 
-        "y": orient[1] + point.y,
-        "z": orient[2]
+    if (theta && 'x' in point) {
+      let orient: RelativePos = {
+        "x": point.x + Math.sin(theta) * 3, 
+        "y": point.y + Math.cos(theta) * 3,
+        "z": point.z
       }
-      let globPointOrient = this.ref2root(orientPoint)
+      let globPointOrient = this.ref2root(orient)
 
       // add arrow
       var arrow = L.polyline([globPos, globPointOrient], {color: 'grey'}).arrowheads(
         {
           fill: true,
-          // size: '30%',
           color: 'grey'
         }
       );
@@ -171,23 +142,6 @@ export class MapComponent implements OnInit {
     }
   }
 
-  quaternionMult(q: number[], r: number[]) {
-    return [r[0]*q[0]-r[1]*q[1]-r[2]*q[2]-r[3]*q[3],
-            r[0]*q[1]+r[1]*q[0]-r[2]*q[3]+r[3]*q[2],
-            r[0]*q[2]+r[1]*q[3]+r[2]*q[0]-r[3]*q[1],
-            r[0]*q[3]-r[1]*q[2]+r[2]*q[1]+r[3]*q[0]]
-  }
-
-  calcOrient(w: number, x: number, y: number, z: number) {
-    // Rotation transforms from one orientation to another
-    let point = [0,0,3,0] // point vector
-    let qConj = [w,-1*x,-1*y,-1*z]
-    let q = [w,x,y,z]
-    let point_new = this.quaternionMult(this.quaternionMult(q,point),qConj)
-    return point_new.slice(1)
-  }
-
-
   // @https://asymmetrik.com/ngx-leaflet-tutorial-angular-cli/
   // --- Layers: Define base layers so we can reference them multiple times
   streetMaps = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
diff --git a/src/app/model/base-model.ts b/src/app/model/base-model.ts
index 7f07338169fc2157c757df142bcb42a0a4dad058..17bd669c56a56581a7d86ca997a5bbc4d9dd565c 100644
--- a/src/app/model/base-model.ts
+++ b/src/app/model/base-model.ts
@@ -67,6 +67,7 @@ interface ExtAttribute {
     batteryChargeLevel: number
     loadedItems: number[]
     errors: number[]
+    theta: number
 }