diff --git a/enzevalos_iphone.xcodeproj/project.pbxproj b/enzevalos_iphone.xcodeproj/project.pbxproj
index 1f344e8dfde74046c93e5e2cae733c259b5e4a98..93e6e8d55da5a3aa3479ff8ed14da5916d7a8a24 100644
--- a/enzevalos_iphone.xcodeproj/project.pbxproj
+++ b/enzevalos_iphone.xcodeproj/project.pbxproj
@@ -14,7 +14,9 @@
 		A13526861D955BDF00D3BFE1 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A13526841D955BDF00D3BFE1 /* LaunchScreen.storyboard */; };
 		A13526911D955BE000D3BFE1 /* enzevalos_iphoneTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A13526901D955BE000D3BFE1 /* enzevalos_iphoneTests.swift */; };
 		A135269C1D955BE000D3BFE1 /* enzevalos_iphoneUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A135269B1D955BE000D3BFE1 /* enzevalos_iphoneUITests.swift */; };
+		A17C04841DC6504E00F66EDB /* LogHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = A17C04831DC6504E00F66EDB /* LogHandler.swift */; };
 		A1C3270E1DB907D900CE2ED5 /* TextFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1C3270D1DB907D900CE2ED5 /* TextFormatter.swift */; };
+		A1E81B671DCA296200535F98 /* UIViewResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1E81B661DCA296200535F98 /* UIViewResolver.swift */; };
 		A1EB05781D956817008659C1 /* ImageExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1EB05771D956817008659C1 /* ImageExtension.swift */; };
 		A1EB057A1D956829008659C1 /* ContactCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1EB05791D956829008659C1 /* ContactCell.swift */; };
 		A1EB057C1D956838008659C1 /* MailHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1EB057B1D956838008659C1 /* MailHandler.swift */; };
@@ -83,8 +85,10 @@
 		A13526971D955BE000D3BFE1 /* enzevalos_iphoneUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = enzevalos_iphoneUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		A135269B1D955BE000D3BFE1 /* enzevalos_iphoneUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = enzevalos_iphoneUITests.swift; sourceTree = "<group>"; };
 		A135269D1D955BE000D3BFE1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+		A17C04831DC6504E00F66EDB /* LogHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LogHandler.swift; sourceTree = "<group>"; };
 		A198270D1D9A8ABC0027F65C /* enzevalos_iphone-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "enzevalos_iphone-Bridging-Header.h"; sourceTree = "<group>"; };
 		A1C3270D1DB907D900CE2ED5 /* TextFormatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextFormatter.swift; sourceTree = "<group>"; };
+		A1E81B661DCA296200535F98 /* UIViewResolver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIViewResolver.swift; sourceTree = "<group>"; };
 		A1EB05771D956817008659C1 /* ImageExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageExtension.swift; sourceTree = "<group>"; };
 		A1EB05791D956829008659C1 /* ContactCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContactCell.swift; sourceTree = "<group>"; };
 		A1EB057B1D956838008659C1 /* MailHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MailHandler.swift; sourceTree = "<group>"; };
@@ -245,12 +249,14 @@
 			children = (
 				A1EB05A51D956F73008659C1 /* images */,
 				A1EB057F1D956851008659C1 /* SendViewController.swift */,
+				A1E81B661DCA296200535F98 /* UIViewResolver.swift */,
 				A1EB057D1D956848008659C1 /* VENDataDelegate.swift */,
 				A1EB05811D95685B008659C1 /* CollectionDataDelegate.swift */,
 				A1EB05831D956867008659C1 /* TableViewDataDelegate.swift */,
 				A1EB05791D956829008659C1 /* ContactCell.swift */,
 				A1EB05851D956872008659C1 /* FrequentCell.swift */,
 				A1C3270D1DB907D900CE2ED5 /* TextFormatter.swift */,
+				A17C04831DC6504E00F66EDB /* LogHandler.swift */,
 				A1EB05891D956890008659C1 /* ContactCell.xib */,
 				A1EB058B1D9568AB008659C1 /* FrequentCell.xib */,
 			);
@@ -561,10 +567,12 @@
 				A1EB059C1D956957008659C1 /* NSDateCompare.swift in Sources */,
 				A1EB05941D956931008659C1 /* InboxCellDelegator.swift in Sources */,
 				A1EB05821D95685B008659C1 /* CollectionDataDelegate.swift in Sources */,
+				A17C04841DC6504E00F66EDB /* LogHandler.swift in Sources */,
 				A1EB05801D956851008659C1 /* SendViewController.swift in Sources */,
 				A1EB05981D956947008659C1 /* InboxViewController.swift in Sources */,
 				A1EB059A1D95694E008659C1 /* FillInbox.swift in Sources */,
 				A1EB057E1D956848008659C1 /* VENDataDelegate.swift in Sources */,
+				A1E81B671DCA296200535F98 /* UIViewResolver.swift in Sources */,
 				A1EB057A1D956829008659C1 /* ContactCell.swift in Sources */,
 				F12060801DA540FE00F6EF37 /* RefreshControlExtension.swift in Sources */,
 				A1EB059E1D956963008659C1 /* EnzevalosContact.swift in Sources */,
diff --git a/enzevalos_iphone/Base.lproj/Main.storyboard b/enzevalos_iphone/Base.lproj/Main.storyboard
index 481f21841259d0f910fcfc2c87dc5eff260a1d32..df14680771b0e6462a3667c89d037f2d7e4cd073 100644
--- a/enzevalos_iphone/Base.lproj/Main.storyboard
+++ b/enzevalos_iphone/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11201" systemVersion="15G1004" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="Amm-QN-vA7">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11201" systemVersion="15G1108" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="Amm-QN-vA7">
     <dependencies>
         <deployment identifier="iOS"/>
         <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11161"/>
@@ -463,18 +463,27 @@
                                             <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
                                         </collectionViewFlowLayout>
                                         <cells/>
+                                        <connections>
+                                            <outletCollection property="gestureRecognizers" destination="b27-VB-voz" appends="YES" id="XZE-Dy-asu"/>
+                                        </connections>
                                     </collectionView>
                                     <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="L5B-h5-HOl">
                                         <color key="backgroundColor" red="0.66666666666666663" green="0.66666666666666663" blue="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="1" id="veB-dJ-Aq3"/>
                                         </constraints>
+                                        <connections>
+                                            <outletCollection property="gestureRecognizers" destination="nNs-nd-j1C" appends="YES" id="aPz-In-MVP"/>
+                                        </connections>
                                     </view>
                                     <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="HOW-9b-T8z" customClass="VENTokenField">
                                         <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="44" identifier="tokenFieldHeight" id="gjA-gA-kgR"/>
                                         </constraints>
+                                        <connections>
+                                            <outletCollection property="gestureRecognizers" destination="rts-b0-KoE" appends="YES" id="uDk-bp-RfX"/>
+                                        </connections>
                                     </view>
                                     <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsVerticalScrollIndicator="NO" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="w9d-ml-jRA">
                                         <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -488,28 +497,40 @@
                                             <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
                                         </collectionViewFlowLayout>
                                         <cells/>
+                                        <connections>
+                                            <outletCollection property="gestureRecognizers" destination="7ir-1V-kSk" appends="YES" id="l5Z-Xj-HlA"/>
+                                        </connections>
                                     </collectionView>
                                     <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="gUv-Jf-9DD">
                                         <color key="backgroundColor" red="0.66666666666666663" green="0.66666666666666663" blue="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="1" id="ojt-b3-hEs"/>
                                         </constraints>
+                                        <connections>
+                                            <outletCollection property="gestureRecognizers" destination="Mrn-Zn-b3E" appends="YES" id="XgT-ow-a88"/>
+                                        </connections>
                                     </view>
                                     <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="zbn-j5-Dz7" customClass="VENTokenField">
                                         <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="44" id="Ija-JO-UZ4"/>
                                         </constraints>
+                                        <connections>
+                                            <outletCollection property="gestureRecognizers" destination="LHc-53-Rjd" appends="YES" id="KNa-J3-ITp"/>
+                                        </connections>
                                     </view>
                                     <view contentMode="scaleAspectFill" translatesAutoresizingMaskIntoConstraints="NO" id="vj8-uM-8eP">
                                         <color key="backgroundColor" red="0.66666666666666663" green="0.66666666666666663" blue="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="1" id="ejd-X4-e7O"/>
                                         </constraints>
+                                        <connections>
+                                            <outletCollection property="gestureRecognizers" destination="QzT-UB-ohJ" appends="YES" id="y0t-Ge-Ti7"/>
+                                        </connections>
                                     </view>
                                     <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleAspectFit" bounces="NO" scrollEnabled="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" keyboardDismissMode="interactive" usesAttributedText="YES" translatesAutoresizingMaskIntoConstraints="NO" id="quA-hP-Xkp">
                                         <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                                        <accessibility key="accessibilityConfiguration" label="test">
+                                        <accessibility key="accessibilityConfiguration" identifier="send_textview" label="test">
                                             <accessibilityTraits key="traits" adjustable="YES"/>
                                         </accessibility>
                                         <constraints>
@@ -524,13 +545,20 @@
                                             </fragment>
                                         </attributedString>
                                         <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
+                                        <connections>
+                                            <outletCollection property="gestureRecognizers" destination="5Nw-fP-Sop" appends="YES" id="MoD-Bq-Hcq"/>
+                                        </connections>
                                     </textView>
                                     <view contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" translatesAutoresizingMaskIntoConstraints="NO" id="zgt-Nh-yna" customClass="VENTokenField">
                                         <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                        <accessibility key="accessibilityConfiguration" identifier="send_toText"/>
                                         <rect key="contentStretch" x="0.0" y="0.0" width="0.0" height="0.0"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="44" identifier="tokenFieldHeight" id="CIk-PS-cBx"/>
                                         </constraints>
+                                        <connections>
+                                            <outletCollection property="gestureRecognizers" destination="uWH-WG-0hT" appends="YES" id="XzP-g3-Y8F"/>
+                                        </connections>
                                     </view>
                                 </subviews>
                                 <constraints>
@@ -553,6 +581,9 @@
                                     <constraint firstAttribute="height" constant="100" id="fcx-4L-TLn"/>
                                 </constraints>
                                 <sections/>
+                                <connections>
+                                    <outletCollection property="gestureRecognizers" destination="4sw-b8-JJf" appends="YES" id="dYM-pN-Zf5"/>
+                                </connections>
                             </tableView>
                         </subviews>
                         <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -632,9 +663,64 @@
                     </connections>
                 </viewController>
                 <placeholder placeholderIdentifier="IBFirstResponder" id="Lv5-U9-uUg" userLabel="First Responder" sceneMemberID="firstResponder"/>
-                <tapGestureRecognizer id="6eR-9b-HYR">
+                <tapGestureRecognizer cancelsTouchesInView="NO" id="uWH-WG-0hT" userLabel="toText Tap Gesture Recognizer">
+                    <connections>
+                        <action selector="tapped:" destination="4Ey-v4-VeB" id="Or8-ff-LLE"/>
+                        <outlet property="delegate" destination="4Ey-v4-VeB" id="XsS-3t-Yi1"/>
+                    </connections>
+                </tapGestureRecognizer>
+                <tapGestureRecognizer cancelsTouchesInView="NO" id="b27-VB-voz" userLabel="toCollectionview Tap Gesture Recognizer">
+                    <connections>
+                        <action selector="tapped:" destination="4Ey-v4-VeB" id="kPe-9S-TOh"/>
+                        <outlet property="delegate" destination="4Ey-v4-VeB" id="QVe-4k-TSH"/>
+                    </connections>
+                </tapGestureRecognizer>
+                <tapGestureRecognizer cancelsTouchesInView="NO" id="nNs-nd-j1C" userLabel="seperator1 Tap Gesture Recognizer">
+                    <connections>
+                        <action selector="tapped:" destination="4Ey-v4-VeB" id="j6N-Kq-gRi"/>
+                        <outlet property="delegate" destination="4Ey-v4-VeB" id="0sU-Ag-o2B"/>
+                    </connections>
+                </tapGestureRecognizer>
+                <tapGestureRecognizer cancelsTouchesInView="NO" id="rts-b0-KoE" userLabel="ccText Tap Gesture Recognizer">
+                    <connections>
+                        <action selector="tapped:" destination="4Ey-v4-VeB" id="QxX-yw-Icz"/>
+                        <outlet property="delegate" destination="4Ey-v4-VeB" id="rd6-Af-9dV"/>
+                    </connections>
+                </tapGestureRecognizer>
+                <tapGestureRecognizer cancelsTouchesInView="NO" id="7ir-1V-kSk" userLabel="ccCollectionview Tap Gesture Recognizer">
+                    <connections>
+                        <action selector="tapped:" destination="4Ey-v4-VeB" id="FJi-Ty-Ji9"/>
+                        <outlet property="delegate" destination="4Ey-v4-VeB" id="9b6-pw-xaT"/>
+                    </connections>
+                </tapGestureRecognizer>
+                <tapGestureRecognizer cancelsTouchesInView="NO" id="Mrn-Zn-b3E" userLabel="seperator2 Tap Gesture Recognizer">
+                    <connections>
+                        <action selector="tapped:" destination="4Ey-v4-VeB" id="xzL-uL-7Rv"/>
+                        <outlet property="delegate" destination="4Ey-v4-VeB" id="ofL-bx-K8K"/>
+                    </connections>
+                </tapGestureRecognizer>
+                <tapGestureRecognizer cancelsTouchesInView="NO" id="LHc-53-Rjd" userLabel="subjectText Tap Gesture Recognizer">
+                    <connections>
+                        <action selector="tapped:" destination="4Ey-v4-VeB" id="I3d-dI-edH"/>
+                        <outlet property="delegate" destination="4Ey-v4-VeB" id="aFV-WX-04N"/>
+                    </connections>
+                </tapGestureRecognizer>
+                <tapGestureRecognizer cancelsTouchesInView="NO" id="QzT-UB-ohJ" userLabel="seperator3 Tap Gesture Recognizer">
+                    <connections>
+                        <action selector="tapped:" destination="4Ey-v4-VeB" id="7kd-1z-gva"/>
+                        <outlet property="delegate" destination="4Ey-v4-VeB" id="JU1-Zt-iBr"/>
+                    </connections>
+                </tapGestureRecognizer>
+                <tapGestureRecognizer cancelsTouchesInView="NO" id="5Nw-fP-Sop" userLabel="textview Tap Gesture Recognizer">
+                    <connections>
+                        <action selector="tapped:" destination="4Ey-v4-VeB" id="FGa-LE-p9S"/>
+                        <outlet property="delegate" destination="4Ey-v4-VeB" id="dCt-BE-yT4"/>
+                    </connections>
+                </tapGestureRecognizer>
+                <tapGestureRecognizer cancelsTouchesInView="NO" id="4sw-b8-JJf" userLabel="tableview Tap Gesture Recognizer">
                     <connections>
-                        <action selector="textTapped:" destination="4Ey-v4-VeB" id="LUb-GS-msq"/>
+                        <action selector="tapped:" destination="4Ey-v4-VeB" id="cuh-kH-UvI"/>
+                        <outlet property="delegate" destination="4Ey-v4-VeB" id="3jq-wi-4U0"/>
                     </connections>
                 </tapGestureRecognizer>
             </objects>
@@ -643,6 +729,6 @@
     </scenes>
     <inferredMetricsTieBreakers>
         <segue reference="GWh-iO-bPb"/>
-        <segue reference="Yft-MI-Wtf"/>
+        <segue reference="j4Q-k1-ud3"/>
     </inferredMetricsTieBreakers>
 </document>
diff --git a/enzevalos_iphone/ContactCell.swift b/enzevalos_iphone/ContactCell.swift
index 97ac0048189902922e4cbef8004141ad99e4b2ed..ed95f7d7498dc4926146562d6803574ed7ebcbdc 100644
--- a/enzevalos_iphone/ContactCell.swift
+++ b/enzevalos_iphone/ContactCell.swift
@@ -24,4 +24,4 @@ class ContactCell : UITableViewCell {
         super.init(coder: aDecoder)
     }*/
     
-}
\ No newline at end of file
+}
diff --git a/enzevalos_iphone/ContactCell.xib b/enzevalos_iphone/ContactCell.xib
index d86d768f5d51b9266df614a98059a2bc594e0b79..31b1ee2c433caa55eb258f5b584a983e515733cf 100644
--- a/enzevalos_iphone/ContactCell.xib
+++ b/enzevalos_iphone/ContactCell.xib
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="11201" systemVersion="15G1004" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="11201" systemVersion="15G1108" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
     <dependencies>
         <deployment identifier="iOS"/>
         <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11161"/>
@@ -38,6 +38,7 @@
                     <constraint firstAttribute="bottomMargin" secondItem="63D-rq-tu0" secondAttribute="bottom" constant="1" id="yHC-En-yY9"/>
                 </constraints>
             </tableViewCellContentView>
+            <gestureRecognizers/>
             <connections>
                 <outlet property="address" destination="63D-rq-tu0" id="Zna-eA-HWh"/>
                 <outlet property="img" destination="PhZ-Xe-rcO" id="pAL-Xa-0ZL"/>
diff --git a/enzevalos_iphone/LogHandler.swift b/enzevalos_iphone/LogHandler.swift
new file mode 100644
index 0000000000000000000000000000000000000000..98ae83941267bc23b200773279d7826241edc48c
--- /dev/null
+++ b/enzevalos_iphone/LogHandler.swift
@@ -0,0 +1,144 @@
+//
+//  LogHandler.swift
+//  enzevalos_iphone
+//
+//  Created by jakobsbode on 30.10.16.
+//  Copyright © 2016 fu-berlin. All rights reserved.
+//
+
+import Foundation
+import UIKit
+
+class LogHandler {
+    
+    private static var defaults = NSUserDefaults.init()
+    private(set) static var logging = false
+    private static var date = NSDate.init()
+    static var session : Int = 0
+    
+    static func newLog(){
+        logging = true
+        session = defaults.integerForKey("Session")
+        if session == 0{
+            session = 1
+        }
+        else {
+            session += 1
+        }
+        defaults.setInteger(session, forKey: "Session")
+        defaults.setInteger(0, forKey: String(session)+"-index")
+        defaults.setObject("time,caller,interaction,point,comment"/*"time,caller,interaction,point,debugDescription,comment"*/, forKey: String(session)+"-0")
+        date = NSDate.init()
+        defaults.setObject(date.description, forKey: String(session)+"-date")
+        print("Logging Session: ",session)
+        print(date.description)
+    }
+    
+    static func stopLogging(){
+        logging = false
+    }
+    
+    //TODO: escaping in comment and debugDescription
+    static func doLog(caller: String?, interaction: String, point: CGPoint, /*debugDescription: String,*/ comment : String){
+        var entry = ""
+        let now = NSDate.init()
+        //Zeit holen
+        entry.appendContentsOf(String(now.timeIntervalSinceDate(date)))
+        entry.appendContentsOf(",")
+        //caller identifizieren
+        if caller != nil{
+            entry.appendContentsOf(caller!)
+        }
+        entry.appendContentsOf(",")
+        //interaction bestimmen
+        entry.appendContentsOf(interaction)
+        entry.appendContentsOf(",")
+        //Punkt anbinden
+        entry.appendContentsOf(String(point))
+        entry.appendContentsOf(",")
+        //debugDescription anhängen
+        //entry.appendContentsOf(debugDescription)
+        //entry.appendContentsOf(",")
+        //text anbinden
+        entry.appendContentsOf(comment)
+        //in nsuserdefaults speichern
+        var index = defaults.integerForKey(String(session)+"-index")
+        index += 1
+        defaults.setInteger(index, forKey: String(session)+"-index")
+        defaults.setObject(entry, forKey: String(session)+"-"+String(index))
+    }
+    
+    //methode zum auslesen eines logs
+    static func printLog(session : Int){
+        print()
+        print("--------------------LOG OUTPUT--------------------")
+        print("LoggingSession ",session)
+        print(defaults.objectForKey(String(session)+"-date"))
+        print()
+        for var i in 0 ..< defaults.integerForKey(String(session)+"-index")+1{
+            if let entry = defaults.objectForKey(String(session)+"-"+String(i)) {
+                    print(String(entry))
+            }
+            else {
+                print(",,,,")//print(",,,,,")
+            }
+        }
+        print()
+        print("--------------------------------------------------")
+        print()
+        print()
+    }
+    
+    static func printLogs(){
+        for var i in 1 ..< defaults.integerForKey("Session")+1 {
+            printLog(i)
+        }
+    }
+    
+    static func getLog(session : Int) -> String{
+        var log = "\n--------------------LOG OUTPUT--------------------\nLoggingSession "+String(session)+"\n"+String(defaults.objectForKey(String(session)+"-date"))+"\n\n"
+        
+        for var i in 0 ..< defaults.integerForKey(String(session)+"-index")+1{
+            if let entry = defaults.objectForKey(String(session)+"-"+String(i)) {
+                log.appendContentsOf(String(entry)+"\n")
+            }
+            else {
+                log.appendContentsOf(",,,,\n")//log.appendContentsOf(",,,,,\n")
+            }
+        }
+        log.appendContentsOf("\n--------------------------------------------------\n\n")
+        
+        return log
+    }
+    
+    static func getLogs() -> String {
+        var logs = ""
+        for var i in 1 ..< defaults.integerForKey("Session")+1 {
+            logs.appendContentsOf(getLog(i))
+        }
+        return logs
+    }
+    
+    //methode zum löschen bestimmter logs
+    static func deleteLog(session: Int){
+        if logging{
+            print("not deleting anything, active logging at the moment")
+            return
+        }
+        for var i in 0 ..< defaults.integerForKey(String(session)+"-index")+1{
+            defaults.removeObjectForKey(String(session)+"-"+String(i))
+        }
+        defaults.removeObjectForKey(String(session)+"-index")
+    }
+    
+    static func deleteLogs(){
+        if logging{
+            print("not deleting anything, active logging at the moment")
+            return
+        }
+        for var i in 1 ..< defaults.integerForKey("Session")+1 {
+            deleteLog(i)
+        }
+        defaults.setInteger(0, forKey: "Session")
+    }
+}
diff --git a/enzevalos_iphone/MailHandler.swift b/enzevalos_iphone/MailHandler.swift
index 04d0b79f56c6e8085744c9eb140d1e1011b0d360..78a489e8edce3bb067fccb1b636964bfef34e156 100644
--- a/enzevalos_iphone/MailHandler.swift
+++ b/enzevalos_iphone/MailHandler.swift
@@ -141,8 +141,40 @@ class MailHandler {
                                 cc.append(r as! MCOAddress)
                             }
                         }
+                        /*Jakob prototypeänderung anfang*/
+                        /*ursprünglicher Code :
+                         
                         let mail = Mail(uid: message.uid, sender: header.from, receivers: rec, cc: cc, time: header.date, received: true, subject: header.subject, body: body, isEncrypted: false, isVerified: false, trouble: false, isUnread: !messageRead, flags: message.flags)
-                        
+
+                         */
+                        var enc = false
+                        var ver = false
+                        var troub = false
+                        if header.subject != nil {
+                            if header.subject == "Schlüssel" {
+                                enc = true
+                            }
+                            if header.subject == "Re: Prüfung"{
+                                enc = true
+                                troub = true
+                            }
+                            if header.subject == "Test4" {
+                                ver = true
+                                enc = true
+                            }
+                            if header.subject == "Multiple"{
+                                enc = true
+                            }
+                            if header.subject == "Noch ein Test"{
+                                enc = true
+                                ver = true
+                            }
+                            if header.subject == "jetzt du"{
+                                enc = true
+                            }
+                        }
+                        let mail = Mail(uid: message.uid, sender: header.from, receivers: rec, cc: cc, time: header.date, received: true, subject: header.subject, body: body, isEncrypted: enc, isVerified: ver, trouble: troub, isUnread: !messageRead, flags: message.flags)
+                        /*Jakob prototypeänderung Ende*/
                         self.delegate?.addNewMail(mail)
                         
                         dispatch_group_leave(dispatchGroup)
diff --git a/enzevalos_iphone/SendViewController.swift b/enzevalos_iphone/SendViewController.swift
index 952c9d96456db5cbc8a1860c6d9cef1131911aa5..6a8ccd594403fc699d162b8d42c6e60b876a6de7 100644
--- a/enzevalos_iphone/SendViewController.swift
+++ b/enzevalos_iphone/SendViewController.swift
@@ -10,7 +10,7 @@ import UIKit
 import VENTokenField
 import Contacts
 
-class SendViewController: UIViewController, UITextViewDelegate{
+class SendViewController: UIViewController, UITextViewDelegate, UIGestureRecognizerDelegate, VENTokenFieldDelegate{
     
     var imageView: UIImageView = UIImageView(frame: CGRect(x: 0, y: 5, width: 200, height: 45))
     @IBOutlet weak var button: UIBarButtonItem!
@@ -47,6 +47,7 @@ class SendViewController: UIViewController, UITextViewDelegate{
     var mailHandler = MailHandler()
     var tableDataDelegate = TableViewDataDelegate(insertCallback: {(name : String, address : String) -> Void in return})
     var collectionDataDelegate = CollectionDataDelegate(suggestionFunc: AddressHandler.frequentAddresses, insertCallback: {(name : String, address : String) -> Void in return})
+    var recognizer : UIGestureRecognizer = UIGestureRecognizer.init()
     
     var answerTo: Mail? = nil
 
@@ -59,6 +60,8 @@ class SendViewController: UIViewController, UITextViewDelegate{
         imageView.image = UIImage(named: "Icon_animated001-001_alpha_verschoben-90")!
         setAnimation(false)
         self.navigationItem.titleView = imageView
+        //recognizer = UIGestureRecognizer(target: self, action: #selector(self.tapped(_:)))
+        //self.view.addGestureRecognizer(recognizer)
         imageView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.iconButton(_:))))
         imageView.userInteractionEnabled = true
         
@@ -84,6 +87,8 @@ class SendViewController: UIViewController, UITextViewDelegate{
         ccCollectionview.registerNib(UINib(nibName: "FrequentCell", bundle: nil), forCellWithReuseIdentifier: "frequent")
         ccCollectionviewHeight.constant = 0
         
+        subjectText.delegate = self
+        
         //will always be thrown, when a token was editied
         toText.addTarget(self, action: #selector(self.newInput(_:)), forControlEvents: UIControlEvents.EditingDidEnd)
         ccText.addTarget(self, action: #selector(self.newInput(_:)), forControlEvents: UIControlEvents.EditingDidEnd)
@@ -92,7 +97,9 @@ class SendViewController: UIViewController, UITextViewDelegate{
         if answerTo != nil {
             toText.delegate?.tokenField!(toText, didEnterText: (answerTo?.sender?.mailbox!)!)
             for r in (answerTo?.receivers)!{
-                ccText.delegate?.tokenField!(ccText, didEnterText: r.mailbox!)
+                if r.mailbox! != mailHandler.useraddr{
+                    ccText.delegate?.tokenField!(ccText, didEnterText: r.mailbox!)
+                }
             }
             subjectText.setText(NSLocalizedString("Re", comment: "prefix for subjects of answered mails")+": "+(answerTo?.subject!)!)
             textView.text = NSLocalizedString("mail from", comment: "describing who send the mail")+" "
@@ -130,6 +137,24 @@ class SendViewController: UIViewController, UITextViewDelegate{
         //register KeyBoardevents
         NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.keyboardOpen(_:)), name:UIKeyboardWillShowNotification, object: nil);
         NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.keyboardClose(_:)), name:UIKeyboardWillHideNotification, object: nil);
+        
+        toText.tag = UIViewResolver.toText.rawValue
+        ccText.tag = UIViewResolver.ccText.rawValue
+        textView.tag = UIViewResolver.textView.rawValue
+        imageView.tag = UIViewResolver.imageView.rawValue
+        tableview.tag = UIViewResolver.tableview.rawValue
+        toCollectionview.tag = UIViewResolver.toCollectionview.rawValue
+        ccCollectionview.tag = UIViewResolver.ccCollectionview.rawValue
+        subjectText.tag = UIViewResolver.subjectText.rawValue
+        scrollview.tag = UIViewResolver.scrollview.rawValue
+        
+        
+        //LogHandler.printLogs()
+        //LogHandler.deleteLogs()
+        LogHandler.newLog()
+        //LogHandler.printLogs()
+        
+        //LogHandler.printLogs()
     }
     
     override func viewDidAppear(animated: Bool){
@@ -141,6 +166,34 @@ class SendViewController: UIViewController, UITextViewDelegate{
         // Dispose of any resources that can be recreated.
     }
     
+    func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
+        return true
+    }
+    
+    @IBAction func tapped(sender: UITapGestureRecognizer) {
+        //print(sender.description)
+        //print(String(sender.view?.valueForKey("UILoggingName")))
+        if LogHandler.logging {
+            LogHandler.doLog(UIViewResolver.resolve((sender.view?.tag)!), interaction: "tap", point: sender.locationOfTouch(sender.numberOfTouches()-1, inView: self.view), /*debugDescription: sender.view.debugDescription,*/ comment: "")
+        }
+        
+    }
+    
+    func tokenField(tokenField: VENTokenField, didChangeText text: String?) {
+        if text == "log"{
+                LogHandler.stopLogging()
+                textView.text = LogHandler.getLogs()
+                LogHandler.deleteLogs()
+                LogHandler.newLog()
+        }
+    }
+    
+    func tokenFieldDidEndEditing(tokenField: VENTokenField) {}
+    
+    /*func tapped(sender: AnyObject){
+        print("anything")
+    }*/
+    
     func editName(tokenField : VENTokenField){
         if let inText = tokenField.inputText(){
             if inText != "" {
@@ -303,6 +356,11 @@ class SendViewController: UIViewController, UITextViewDelegate{
     }
     
     func iconButton(sender: AnyObject) {
+        //print(sender.absoluteString)
+        //print(recognizer.locationOfTouch(recognizer.numberOfTouches()-1, inView: imageView))
+        /*for var i in 1 ..< recognizer.numberOfTouches(){
+            print(recognizer.locationOfTouch(i, inView: self.view))
+        }*/
         let m = self.secureState
         let alert: UIAlertController
         let url: String
diff --git a/enzevalos_iphone/UIViewResolver.swift b/enzevalos_iphone/UIViewResolver.swift
new file mode 100644
index 0000000000000000000000000000000000000000..01b8f9f961a4737c8cd193ac1e61c15cad93e464
--- /dev/null
+++ b/enzevalos_iphone/UIViewResolver.swift
@@ -0,0 +1,21 @@
+//
+//  UIViewResolver.swift
+//  enzevalos_iphone
+//
+//  Created by jakobsbode on 02.11.16.
+//  Copyright © 2016 fu-berlin. All rights reserved.
+//
+
+import UIKit
+
+enum UIViewResolver : Int {
+    case unknown=0, cancel, imageView, send, toText, toCollectionview, ccText, ccCollectionview, subjectText, textView, tableview, scrollview
+    
+    public static func resolve(tag : Int) -> String{
+        if let ui = UIViewResolver(rawValue: tag) {
+            return String(ui)
+        }
+        return ""
+    }
+}
+
diff --git a/enzevalos_iphone/de.lproj/Localizable.strings b/enzevalos_iphone/de.lproj/Localizable.strings
index 796f24b5a35704b317a1272f0a46bb70a1797a56..84821fd299e1b339b323e7ceb034c310846b7a72 100644
--- a/enzevalos_iphone/de.lproj/Localizable.strings
+++ b/enzevalos_iphone/de.lproj/Localizable.strings
@@ -57,5 +57,6 @@
 "to" = "an";
 "Trash" = "Papierkorb";
 "TwoDaysAgo" = "Vorgestern";
+"write" = "verfassen";
 "Yesterday" = "Gestern";
 
diff --git a/enzevalos_iphone/de.lproj/Main.strings b/enzevalos_iphone/de.lproj/Main.strings
index 4e2eed4e976a13e7d162c766e4fdd163b3087244..57ea4c6265acfd406845e613e2b0314502f4781b 100644
--- a/enzevalos_iphone/de.lproj/Main.strings
+++ b/enzevalos_iphone/de.lproj/Main.strings
@@ -67,3 +67,6 @@
 
 /* Class = "UIBarButtonItem"; title = "Archivieren"; ObjectID = "tGx-Pm-eAc"; */
 "tGx-Pm-eAc.title" = "Archivieren";
+
+/* Class = "UIBarButtonItem"; title = "write"; ObjectID = "j5W-eH-o1q"; */
+"write" = "verfassen";
diff --git a/enzevalos_iphone/en.lproj/Localizable.strings b/enzevalos_iphone/en.lproj/Localizable.strings
index 239198d79ec823048064dba60ea7105d182b0902..9eab39530574bb7bd7da86ca157ec4e0a3f96aae 100644
--- a/enzevalos_iphone/en.lproj/Localizable.strings
+++ b/enzevalos_iphone/en.lproj/Localizable.strings
@@ -57,4 +57,5 @@
 "to" = "to";
 "Trash" = "Trash";
 "TwoDaysAgo" = "2 days ago";
+"write" = "write";
 "Yesterday" = "yesterday";
diff --git a/enzevalos_iphone/en.lproj/Main.strings b/enzevalos_iphone/en.lproj/Main.strings
index 89d65229785e3b1029dfc1de2b8b59259169369f..2560ea51f51a784b735392ef1bf46956f66cf24a 100644
--- a/enzevalos_iphone/en.lproj/Main.strings
+++ b/enzevalos_iphone/en.lproj/Main.strings
@@ -67,3 +67,6 @@
 
 /* Class = "UIBarButtonItem"; title = "Archive"; ObjectID = "tGx-Pm-eAc"; */
 "tGx-Pm-eAc.title" = "Archive";
+
+/* Class = "UIBarButtonItem"; title = "write"; ObjectID = "j5W-eH-o1q"; */
+"write" = "verfassen";