diff --git a/TraccarClient.xcodeproj/project.pbxproj b/TraccarClient.xcodeproj/project.pbxproj
index daeccec8c2a7e105d627512227ae85ad44f59b71..44dcceb4cb3ed422645cfaf7c2b460a054882711 100644
--- a/TraccarClient.xcodeproj/project.pbxproj
+++ b/TraccarClient.xcodeproj/project.pbxproj
@@ -1365,7 +1365,7 @@
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				COPY_PHASE_STRIP = NO;
-				CURRENT_PROJECT_VERSION = 1;
+				CURRENT_PROJECT_VERSION = 4;
 				DEFINES_MODULE = YES;
 				DEVELOPMENT_TEAM = Z7STA3KGEU;
 				FRAMEWORK_SEARCH_PATHS = "$(inherited)";
@@ -1541,7 +1541,7 @@
 				CODE_SIGN_ENTITLEMENTS = TraccarClient/TraccarClient.entitlements;
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
-				CURRENT_PROJECT_VERSION = 1;
+				CURRENT_PROJECT_VERSION = 4;
 				DEFINES_MODULE = YES;
 				DEVELOPMENT_TEAM = Z7STA3KGEU;
 				FRAMEWORK_SEARCH_PATHS = "$(inherited)";
@@ -1579,7 +1579,7 @@
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				COPY_PHASE_STRIP = NO;
-				CURRENT_PROJECT_VERSION = 1;
+				CURRENT_PROJECT_VERSION = 4;
 				DEFINES_MODULE = YES;
 				DEVELOPMENT_TEAM = Z7STA3KGEU;
 				FRAMEWORK_SEARCH_PATHS = "$(inherited)";
diff --git a/TraccarClient.xcodeproj/project.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate b/TraccarClient.xcodeproj/project.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate
index a09bd43bbafe5e90854a4ec51163e55a141e504f..61c2f14815924865f064a0b5604f61c3570abeb3 100644
Binary files a/TraccarClient.xcodeproj/project.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate and b/TraccarClient.xcodeproj/project.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/TraccarClient/AppManager.swift b/TraccarClient/AppManager.swift
index c6b751cecf53048e4d88654cd0266c84a0f299e3..ecb4bead906c4349d62856ce4c5fa00515f0747d 100644
--- a/TraccarClient/AppManager.swift
+++ b/TraccarClient/AppManager.swift
@@ -39,7 +39,7 @@ final class AppManager {
     ]
     
     // MARK: - Data
-    var environment: KNEnvironment = .sandbox
+    var environment: KNEnvironment = .production
     var delegate: AppDelegate!
     var isUpdatingProfile: Bool = false
     var isLoggedIn: Bool {
diff --git a/TraccarClient/JSONField.swift b/TraccarClient/JSONField.swift
index 9bffe706b81a6d840c79e535330099a5053bf456..1dfaae8ff539025ed2fc1fa2ba0a73bf0e624d7b 100644
--- a/TraccarClient/JSONField.swift
+++ b/TraccarClient/JSONField.swift
@@ -201,4 +201,5 @@ enum JSONField: String {
     case distance = "distance_in_meters"
     case angle = "angle_in_degrees"
     case offline_buffering = "offline_buffering"
+    case accuracy = "accuracy"
 }
diff --git a/TraccarClient/LoginViewController/Model/LoginModelController.swift b/TraccarClient/LoginViewController/Model/LoginModelController.swift
index a610563c71b5c3e2da9a79bca36c6fc2c52c30d2..73b309dc3bb38fbdedbe6a6370b1d20d717b0bc3 100644
--- a/TraccarClient/LoginViewController/Model/LoginModelController.swift
+++ b/TraccarClient/LoginViewController/Model/LoginModelController.swift
@@ -155,7 +155,7 @@ final class LoginModelController {
                                         if result.success {
                                             for item in strongSelf.fields {
                                                 if item.field == .username {
-                                                    UserDefaults.standard.set("\(item.value.value)", forKey: "device_id_preference")
+                                                    UserDefaults.standard.set("\(item.value.value.lowercased())", forKey: "device_id_preference")
                                                     strongSelf.setupTracking()
                                                     strongSelf.navigationMethod(by: shift)
                                                 }
diff --git a/TraccarClient/MainViewController/ConnectViewController.swift b/TraccarClient/MainViewController/ConnectViewController.swift
index 43ff27ae57f3595c185792d2dc96b6196b968f32..f7477d97cbc20f66ce4b3386a35b88d9dced3383 100644
--- a/TraccarClient/MainViewController/ConnectViewController.swift
+++ b/TraccarClient/MainViewController/ConnectViewController.swift
@@ -20,6 +20,7 @@ final class ConnectViewController: KNViewController {
     @IBOutlet private weak var timerLabel: UILabel!
     @IBOutlet private weak var shiftsView: ShiftsView!
     @IBOutlet private weak var trackingView: TrackingView!
+    @IBOutlet private weak var welcomeLabel: UILabel!
     
     // MARK: - Properties
     let userDefaults = UserDefaults.standard
@@ -47,6 +48,7 @@ final class ConnectViewController: KNViewController {
     }
     
     private func setupUI() {
+        welcomeLabel.set(text: "Hello \(UserModel.loadFromUserDefaults().first_name)!", color: .secondary, font: .semibold(20))
         if #available(iOS 14, *) {
             ATTrackingManager.requestTrackingAuthorization { status in
                 switch status {
diff --git a/TraccarClient/MainViewController/ConnectViewController.xib b/TraccarClient/MainViewController/ConnectViewController.xib
index 66f1541c5c96eeee06df63a852e771e639badf21..60f1c07eb8cf943dcb2351c44281f6ddf04ddc42 100644
--- a/TraccarClient/MainViewController/ConnectViewController.xib
+++ b/TraccarClient/MainViewController/ConnectViewController.xib
@@ -20,6 +20,7 @@
                 <outlet property="timerLabel" destination="tx9-o4-hgS" id="p5k-Iq-GJH"/>
                 <outlet property="trackingView" destination="o03-9b-10U" id="XOo-zp-Vqv"/>
                 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
+                <outlet property="welcomeLabel" destination="qBE-F3-4Op" id="H5E-fY-DRZ"/>
             </connections>
         </placeholder>
         <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
@@ -92,6 +93,12 @@
                     <rect key="frame" x="0.0" y="528" width="393" height="301"/>
                     <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                 </view>
+                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qBE-F3-4Op">
+                    <rect key="frame" x="196.66666666666666" y="245" width="0.0" height="0.0"/>
+                    <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                    <nil key="textColor"/>
+                    <nil key="highlightedColor"/>
+                </label>
             </subviews>
             <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/>
             <color key="backgroundColor" systemColor="systemBackgroundColor"/>
@@ -110,7 +117,9 @@
                 <constraint firstItem="CkC-Ms-GkO" firstAttribute="top" secondItem="GMM-3p-jRe" secondAttribute="bottom" constant="20" id="S7D-8h-M4g"/>
                 <constraint firstItem="GMM-3p-jRe" firstAttribute="leading" secondItem="zub-LG-NJa" secondAttribute="leading" id="XEg-qX-IP0"/>
                 <constraint firstItem="CkC-Ms-GkO" firstAttribute="centerX" secondItem="i5M-Pr-FkT" secondAttribute="centerX" id="Yfb-ej-e93"/>
+                <constraint firstItem="qBE-F3-4Op" firstAttribute="centerX" secondItem="nK6-XO-h2t" secondAttribute="centerX" id="Zdn-eh-Q0e"/>
                 <constraint firstItem="sRb-Ee-0gO" firstAttribute="trailing" secondItem="fnl-2z-Ty3" secondAttribute="trailing" id="ZkK-Y2-fnp"/>
+                <constraint firstItem="qBE-F3-4Op" firstAttribute="bottom" secondItem="nK6-XO-h2t" secondAttribute="bottom" id="aJA-HW-5Oe"/>
                 <constraint firstItem="tx9-o4-hgS" firstAttribute="centerX" secondItem="i5M-Pr-FkT" secondAttribute="centerX" id="bBV-Q8-eeY"/>
                 <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="yBt-VZ-plB" secondAttribute="trailing" id="bf7-YF-Pu1"/>
                 <constraint firstItem="zub-LG-NJa" firstAttribute="top" secondItem="nK6-XO-h2t" secondAttribute="bottom" constant="10" id="fQE-Oi-c8X"/>
diff --git a/TraccarClient/TrackingParametersModel.swift b/TraccarClient/TrackingParametersModel.swift
index 54e232cec76b3c3c21655b212b0ba322e3e86180..032de07a0769fe5811ea071f6a50d5e053e59549 100644
--- a/TraccarClient/TrackingParametersModel.swift
+++ b/TraccarClient/TrackingParametersModel.swift
@@ -14,6 +14,7 @@ final class TrackingParametersModel: KNObject {
     var distance: Int = 0
     var angle: Int = 0
     var offline_buffering: Bool = false
+    var accuracy: String = ""
     
     // MARK: - Init
     override init() {
@@ -26,7 +27,8 @@ final class TrackingParametersModel: KNObject {
         distance = dict["distance_in_meters"] as? Int ?? 0
         angle = dict["angle_in_degrees"] as? Int ?? 0
         offline_buffering = dict["offline_buffering"] as? Bool ?? false
-
+        accuracy = dict["accuracy"] as? String ?? ""
+        
         if save {
             saveToDefaults()
         }
@@ -38,6 +40,7 @@ final class TrackingParametersModel: KNObject {
         ud.set(distance, forKey: "distance_preference")
         ud.set(angle, forKey: "angle_preference")
         ud.set(offline_buffering, forKey: "buffer_preference")
+        ud.set(accuracy, forKey: "accuracy_preference")
     }
     
     class func loadFromDefaults() -> TrackingParametersModel {
@@ -57,6 +60,9 @@ final class TrackingParametersModel: KNObject {
         if let offlineBuffering = ud.value(forKey: "buffer_preference") as? Bool {
             params.add(key: .offline_buffering, offlineBuffering)
         }
+        if let accuracy = ud.value(forKey: "accuracy_preference") as? String {
+            params.add(key: .accuracy, accuracy)
+        }
         
         return TrackingParametersModel(params)
     }
@@ -67,6 +73,7 @@ final class TrackingParametersModel: KNObject {
         ud.removeObject(forKey: "distance_preference")
         ud.removeObject(forKey: "angle_preference")
         ud.removeObject(forKey: "buffer_preference")
+        ud.removeObject(forKey: "accuracy_preference")
     }
 }
 
diff --git a/TraccarClient/TransactionsViewController/TransactionsViewController.swift b/TraccarClient/TransactionsViewController/TransactionsViewController.swift
index 1591c5cbfbb22ffc67e9627a48a0443850394538..eb6db3d49c316086c046a94b489691b9234fbaa9 100644
--- a/TraccarClient/TransactionsViewController/TransactionsViewController.swift
+++ b/TraccarClient/TransactionsViewController/TransactionsViewController.swift
@@ -43,7 +43,7 @@ class TransactionsViewController: KNViewController {
     // MARK: - Methods
     class func addMessage(_ message: String) {
         let formatter = DateFormatter()
-        formatter.dateFormat = "HH:mm - "
+        formatter.dateFormat = "HH:mm:ss - "
 
         messages.append(formatter.string(from: Date()) + (message))