diff --git a/app/src/main/java/de/ccc/events/badge/card10/Constants.kt b/app/src/main/java/de/ccc/events/badge/card10/Constants.kt
index 04f39b11908deaab233b3a06de51f63190ca987b..957e7210f521a32caf6bf68626a530f1af2a29c3 100644
--- a/app/src/main/java/de/ccc/events/badge/card10/Constants.kt
+++ b/app/src/main/java/de/ccc/events/badge/card10/Constants.kt
@@ -50,12 +50,12 @@ val LEDS_POWERSAFE_CHARACTERISTIC_UUID = UUID.fromString("42230217-2342-2342-234
 val FLASHLIGHT_CHARACTERISTIC_UUID = UUID.fromString("42230218-2342-2342-2342-234223422342")
 val PERSONAL_STATE_CHARACTERISTIC_UUID = UUID.fromString("42230219-2342-2342-2342-234223422342")
 
-enum class PersonalState(val v: Byte) {
+enum class PersonalState(val v: Int) {
         NONE(0x0000),
-        NO_CONTACT(0x0100.toByte()),
-        CHAOS(0x0200.toByte()),
-        COMMUNICATION(0x0300.toByte()),
-        CAMP(0x0400.toByte())
+        NO_CONTACT(0x0100),
+        CHAOS(0x0200),
+        COMMUNICATION(0x0300),
+        CAMP(0x0400)
 }
 
 val LEDS_ABOVE_CHARACTERISTIC_UUID = UUID.fromString("42230220-2342-2342-2342-234223422342")
diff --git a/app/src/main/java/de/ccc/events/badge/card10/common/ConnectionService.kt b/app/src/main/java/de/ccc/events/badge/card10/common/ConnectionService.kt
index b36befa56559ae3bf946979ba2bbef9d258df489..87dd90e41d3b2a0e7101a6068278a8251787cfe0 100644
--- a/app/src/main/java/de/ccc/events/badge/card10/common/ConnectionService.kt
+++ b/app/src/main/java/de/ccc/events/badge/card10/common/ConnectionService.kt
@@ -31,7 +31,7 @@ import de.ccc.events.badge.card10.FILE_SERVICE_UUID
 import de.ccc.events.badge.card10.R
 import de.ccc.events.badge.card10.filetransfer.LowEffortService
 import de.ccc.events.badge.card10.time.Card10Service
-import java.util.*
+
 
 private const val TAG = "ConnectionService"
 
@@ -130,9 +130,7 @@ object ConnectionService {
         override fun onMtuChanged(gatt: BluetoothGatt?, newMtu: Int, status: Int) {
             Log.d(TAG, "MTU changed to: $newMtu")
 
-            if (gatt == null) {
-                throw IllegalStateException()
-            }
+            checkNotNull(gatt)
 
             mtu = newMtu - 3 // Very precise science
 
@@ -146,10 +144,8 @@ object ConnectionService {
             characteristic: BluetoothGattCharacteristic?,
             status: Int
         ) {
-            if (gatt == null || characteristic == null) {
-                throw IllegalStateException()
-            }
-
+            checkNotNull(gatt)
+            checkNotNull(characteristic)
             connection = gatt
 
             gattListeners.values.map { it.onCharacteristicWrite(characteristic, status) }
@@ -158,9 +154,8 @@ object ConnectionService {
         override fun onCharacteristicChanged(gatt: BluetoothGatt?, characteristic: BluetoothGattCharacteristic?) {
             connection = gatt
 
-            if (gatt == null || characteristic == null) {
-                throw IllegalStateException()
-            }
+            checkNotNull(gatt)
+            checkNotNull(characteristic)
 
             gattListeners.values.map { it.onCharacteristicChanged(characteristic) }
         }
diff --git a/app/src/main/java/de/ccc/events/badge/card10/mood/MoodFragment.kt b/app/src/main/java/de/ccc/events/badge/card10/mood/MoodFragment.kt
index 130a0bec2ab9bdcc31a6651dab53cd130a8c88eb..8ee6b40e13d9a3bb758aac899c24e8667209e3e1 100644
--- a/app/src/main/java/de/ccc/events/badge/card10/mood/MoodFragment.kt
+++ b/app/src/main/java/de/ccc/events/badge/card10/mood/MoodFragment.kt
@@ -27,34 +27,34 @@ import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
 import androidx.fragment.app.Fragment
+import de.ccc.events.badge.card10.PersonalState
 import de.ccc.events.badge.card10.R
 import de.ccc.events.badge.card10.common.ConnectionService
-import de.ccc.events.badge.card10.time.Card10Service
 import kotlinx.android.synthetic.main.mood_fragment.*
 
 @ExperimentalUnsignedTypes
 class MoodFragment : Fragment() {
-    private var card10Service: Card10Service? = null
-
-    override fun onCreate(savedInstanceState: Bundle?) {
-        super.onCreate(savedInstanceState)
-
-        card10Service = ConnectionService.card10Service
-    }
+    private val card10Service = ConnectionService.card10Service
 
     override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
         return inflater.inflate(R.layout.mood_fragment, container, false)
     }
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
-        mood_good.setOnClickListener{
-            card10Service?.setRocketValue(ubyteArrayOf(0xffu, 0x00u, 0x00u).toByteArray())
+        mood_congress.setOnClickListener{
+            card10Service?.setPersonalState(PersonalState.CHAOS)
+        }
+        mood_chaos.setOnClickListener{
+            card10Service?.setPersonalState(PersonalState.COMMUNICATION)
+        }
+        mood_congress.setOnClickListener{
+            card10Service?.setPersonalState(PersonalState.CAMP)
         }
-        mood_neutral.setOnClickListener{
-            card10Service?.setRocketValue(ubyteArrayOf(0x00u, 0xffu, 0x00u).toByteArray())
+        no_contact.setOnClickListener{
+            card10Service?.setPersonalState(PersonalState.NO_CONTACT)
         }
-        mood_bad.setOnClickListener{
-            card10Service?.setRocketValue(ubyteArrayOf(0x00u, 0x00u, 0xffu).toByteArray())
+        no_contact.setOnClickListener{
+            card10Service?.setPersonalState(PersonalState.NONE)
         }
     }
 }
diff --git a/app/src/main/java/de/ccc/events/badge/card10/time/Card10Service.kt b/app/src/main/java/de/ccc/events/badge/card10/time/Card10Service.kt
index db1501c62425951bcb5f367a34fd02aea30469b6..4d58e47bb240b7dd15c361c89fbb69b589af3d97 100644
--- a/app/src/main/java/de/ccc/events/badge/card10/time/Card10Service.kt
+++ b/app/src/main/java/de/ccc/events/badge/card10/time/Card10Service.kt
@@ -24,9 +24,7 @@ package de.ccc.events.badge.card10.time
 
 import android.bluetooth.BluetoothGattCharacteristic
 import android.bluetooth.BluetoothGattService
-import de.ccc.events.badge.card10.LEDS_ABOVE_CHARACTERISTIC_UUID
-import de.ccc.events.badge.card10.ROCKETS_CHARACTERISTIC_UUID
-import de.ccc.events.badge.card10.TIME_CHARACTERISTIC_UUID
+import de.ccc.events.badge.card10.*
 import de.ccc.events.badge.card10.common.ConnectionService
 import java.nio.ByteBuffer
 
@@ -35,12 +33,16 @@ class Card10Service(
 ) {
     private val timeCharacteristic = service.getCharacteristic(TIME_CHARACTERISTIC_UUID)
     private val rocketsCharacteristic = service.getCharacteristic(ROCKETS_CHARACTERISTIC_UUID)
-    private var ledsAboveCharacteristic = service.getCharacteristic(LEDS_ABOVE_CHARACTERISTIC_UUID)
+    private val ledsAboveCharacteristic = service.getCharacteristic(LEDS_ABOVE_CHARACTERISTIC_UUID)
+    private val personalStateCharacteristic = service.getCharacteristic(PERSONAL_STATE_CHARACTERISTIC_UUID)
+
 
     init {
         timeCharacteristic.writeType = BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE
         rocketsCharacteristic.writeType = BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE
         ledsAboveCharacteristic.writeType = BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE
+        personalStateCharacteristic.writeType = BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE
+
     }
 
     fun setTime() {
@@ -59,4 +61,13 @@ class Card10Service(
         ledsAboveCharacteristic.value = value
         ConnectionService.writeCharacteristic(ledsAboveCharacteristic)
     }
+
+    fun setPersonalState(value: PersonalState) {
+            personalStateCharacteristic.value = ByteArray(2)
+            personalStateCharacteristic.value[0] = value.v.toByte()
+            personalStateCharacteristic.value[1] = (value.v shr 8).toByte()
+            println("=== Writing personal State array : ${personalStateCharacteristic.value[0]},${personalStateCharacteristic.value[1]} ")
+
+            ConnectionService.writeCharacteristic(personalStateCharacteristic)
+    }
 }
\ No newline at end of file
diff --git a/app/src/main/res/layout/mood_fragment.xml b/app/src/main/res/layout/mood_fragment.xml
index ce9e4f30b397c4c580879b703a9dce313b0341cd..ee8f213892a372c8007b0e30d1320f8720a13284 100644
--- a/app/src/main/res/layout/mood_fragment.xml
+++ b/app/src/main/res/layout/mood_fragment.xml
@@ -8,11 +8,15 @@
         android:padding="16dp"
 >
     <TextView android:layout_width="wrap_content"
-              android:layout_height="wrap_content" android:text="Mood"/>
-    <Button android:id="@+id/mood_good" android:layout_width="wrap_content" android:layout_height="wrap_content"
-            android:text="Good"/>
-    <Button android:id="@+id/mood_neutral" android:layout_width="wrap_content" android:layout_height="wrap_content"
-            android:text="Neutral"/>
-    <Button android:id="@+id/mood_bad" android:layout_width="wrap_content" android:layout_height="wrap_content"
-            android:text="Bad"/>
+              android:layout_height="wrap_content" android:text="@string/personal_state"/>
+    <Button android:id="@+id/mood_chaos" android:layout_width="wrap_content" android:layout_height="wrap_content"
+            android:text="@string/chaos"/>
+    <Button android:id="@+id/mood_communication" android:layout_width="wrap_content" android:layout_height="wrap_content"
+            android:text="@string/communication"/>
+    <Button android:id="@+id/mood_congress" android:layout_width="wrap_content" android:layout_height="wrap_content"
+            android:text="@string/congress"/>
+    <Button android:id="@+id/no_contact" android:layout_width="wrap_content" android:layout_height="wrap_content"
+            android:text="@string/no_contact"/>
+    <Button android:id="@+id/no_state" android:layout_width="wrap_content" android:layout_height="wrap_content"
+            android:text="@string/off"/>
 </LinearLayout>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 15ca45bfa675ecc8dd94eea2e0dacaf0694e6d29..ae99bfcb225bdad0e491dc11d20eaa77eab835eb 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -44,4 +44,10 @@
 
     <string name="connection_error_generic">Connection error</string>
     <string name="connection_error_no_bonded_device">No bonded card10s available</string>
+    <string name="personal_state">Personal State</string>
+    <string name="chaos">Chaos</string>
+    <string name="communication">Communication</string>
+    <string name="congress">Congress</string>
+    <string name="no_contact">No Contact</string>
+    <string name="off">Off</string>
 </resources>