diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index cd9719bd44d3e82af60b1e0c12a40a54e6f3ed38..cdeba570beddf6d56091e63e767f16cbef6019dd 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -3,7 +3,7 @@
     <option name="myName" value="Project Default" />
     <inspection_tool class="DuplicatedCode" enabled="true" level="WEAK WARNING" enabled_by_default="true">
       <Languages>
-        <language minSize="73" name="JavaScript" />
+        <language minSize="93" name="JavaScript" />
       </Languages>
     </inspection_tool>
   </profile>
diff --git a/driver/Driver_main.js b/driver/Driver_main.js
index b76ec7e2673af0ad915ac68d8025fa57bd671729..f9425f4da6c7c170333c601fcdc6eab59ec22809 100644
--- a/driver/Driver_main.js
+++ b/driver/Driver_main.js
@@ -21,7 +21,6 @@ import {
     change_user_to_customer,
     serverIp,
 } from '../common_files/Texts'
-import {compareDistKm} from './Orders'
 import SectionListCustomers from './SectionListCustomers'
 import {getToken} from '../common_files/ourFunctions'
 import {updateOrderList, updateUserType} from '../redux/actions'
@@ -42,29 +41,34 @@ class Driver_main extends React.Component {
     }
 
     toggleSwitch = (value) => {
+        this.getLocationAsync()
         this.setState({isAvailable: value})
         if (value) {
+            this.getOrders()
             this.interval = setInterval(() => this.getOrders(), 30000)
         } else {
             clearInterval(this.interval)
         }
-        this.sort()
+        //this.sort()
     }
 
-    sort = () => {
-        this.setState((prevState) => ({
+    sort = (json) => {
+        let newOrderList = [...json]
+        for (let i = 0; i < json.length; i++) {
+            newOrderList[i].km = this.getDistanceBetweenCustomerAndDriver(
+                json[i]
+            )
+        }
+        return newOrderList
+        /*this.setState((prevState) => ({
             orders: prevState.orders.sort(compareDistKm),
-        }))
+        }))*/
     }
 
     getLocationAsync = async () => {
         let {status} = await Permissions.askAsync(Permissions.LOCATION)
-        this.setState({errorMessage: 'granted', isGranted: true})
-        if (status !== 'granted') {
-            this.setState({
-                errorMessage: 'Du må slå på lokasjonen for å bruke appen',
-                isGranted: false,
-            })
+        if (status === 'granted') {
+            this.props.updatePermission({location: 'granted'})
         }
 
         let location = await Location.getCurrentPositionAsync({
@@ -92,7 +96,10 @@ class Driver_main extends React.Component {
 
         const {latitude, longitude} = location.coords
         await this.getGeocodeAsync({latitude, longitude})
-        this.setState({location: {latitude, longitude}})
+        this.props.updateCustomerLocation({
+            latitude: latitude,
+            longitude: longitude,
+        })
     }
 
     getGeocodeAsync = async (location) => {
@@ -100,17 +107,18 @@ class Driver_main extends React.Component {
         this.setState({geocode})
     }
 
-    getDistanceBetweenCustomerAndDriver = () => {
+    getDistanceBetweenCustomerAndDriver = (customerLocation) => {
         const distanceBetween = (
             getPreciseDistance(
                 {
-                    latitude: this.state.latitude,
-                    longitude: this.state.longitude,
+                    latitude: customerLocation.latitude,
+                    longitude: customerLocation.longitude,
                 },
-                this.state.secondLocation
+                this.props.customerLocation
             ) / 1000
         ).toFixed(2)
-        this.setState({distanceBetween: distanceBetween})
+        return distanceBetween
+        //this.setState({distanceBetween: distanceBetween})
     }
 
     getOrders = async () => {
@@ -125,7 +133,8 @@ class Driver_main extends React.Component {
             .then((response) => response.json())
             .then((json) => {
                 if (json.length) {
-                    this.props.updateOrderList(json)
+                    let sortedJson = this.sort(json)
+                    this.props.updateOrderList(sortedJson)
                     return json[0].object
                 } else {
                     console.log('Array was empty')
diff --git a/driver/Order.js b/driver/Order.js
index 4f533b9b67f73e75b60ec6ecd8b0631d1aeb43d6..30a47ea524a5ff23df78d0fcea53a68020969a01 100644
--- a/driver/Order.js
+++ b/driver/Order.js
@@ -13,6 +13,7 @@ import {connect} from 'react-redux'
 import {accept, km, serverIp} from '../common_files/Texts'
 import {getToken} from '../common_files/ourFunctions'
 import {updateMobNum} from '../redux/actions'
+
 import store from '../redux/store'
 
 class Order extends React.Component {
@@ -40,11 +41,7 @@ class Order extends React.Component {
             .then((response) => response.json())
             .then((json) => {
                 console.log('took Order, got Phone number:')
-                console.log(this.props.orderId)
-                console.log(this.props.deviceId)
-                console.log(json)
-                console.log(json[0].phoneNumber)
-                this.props.updateMobNum(json[0].phoneNumber)
+                this.props.updateMobNum(json[1][0].phoneNumber)
             })
             .catch((error) => {
                 console.error(error)
@@ -60,11 +57,13 @@ class Order extends React.Component {
                     <TouchableOpacity
                         key={this.props.orderId}
                         style={styles.row}
-                        onPress={() => this.call(this.props.orderId.toString())}
+                        onPress={() =>
+                            this.call(this.props.customerMobNum.toString())
+                        }
                     >
                         <Text style={styles.customerData}>{accept}</Text>
                         <Text style={styles.customerData}>
-                            {this.props.orderId}
+                            {this.props.km}
                             {km}
                         </Text>
                     </TouchableOpacity>
@@ -93,6 +92,7 @@ const styles = StyleSheet.create({
 
 const mapStateToProps = (state) => ({
     deviceId: state.device_id,
+    customerMobNum: state.mobileNumber,
 })
 
 const mapDispatchToProps = {
diff --git a/driver/SectionListCustomers.js b/driver/SectionListCustomers.js
index 05e1790633196ba4dde2d1ab1ec8f85a2f08f1f6..59e261bbade4539d92e0682f9646c5db0e782ac1 100644
--- a/driver/SectionListCustomers.js
+++ b/driver/SectionListCustomers.js
@@ -6,7 +6,7 @@ import Order from './Order'
 
 const renderItem = ({item}) => <Order {...item} />
 
-const FlatListCustomers = (props) => (
+const SectionListCustomers = (props) => (
     <FlatList
         renderItem={renderItem}
         data={props.orders}
@@ -15,7 +15,7 @@ const FlatListCustomers = (props) => (
     />
 )
 
-FlatListCustomers.propTypes = {
+SectionListCustomers.propTypes = {
     orders: PropTypes.array,
 }
 
@@ -26,4 +26,4 @@ const styles = StyleSheet.create({
     },
 })
 
-export default FlatListCustomers
+export default SectionListCustomers
diff --git a/driver/getOrderPhoneNumber.js b/driver/getOrderPhoneNumber.js
index 0f5ac7f07b924344bdcbf1fed8845f90b3dbb678..decd054f583d6313c7117568d24b866b570ed415 100644
--- a/driver/getOrderPhoneNumber.js
+++ b/driver/getOrderPhoneNumber.js
@@ -1,7 +1,7 @@
 import React from 'react'
 import {getToken} from '../common_files/ourFunctions'
 import {serverIp} from '../common_files/Texts'
-import {updateMobNum} from '../redux/actions'
+import {updateMobNum, updateOrder} from '../redux/actions'
 import store from '../redux/store'
 
 export const getOrderPhoneNumber = async () => {
@@ -18,8 +18,8 @@ export const getOrderPhoneNumber = async () => {
         .then((response) => response.json())
         .then((json) => {
             console.log('took Order, got Phone number:')
-            console.log(json[0].phoneNumber)
-            this.props.updateMobNum(json[0].phoneNumber)
+            console.log(json[1].phoneNumber)
+            this.props.updateMobNum(json[1].phoneNumber)
         })
         .catch((error) => {
             console.error(error)
@@ -31,4 +31,7 @@ const mapStateToProps = (state) => ({
     mobileNumber: state.mobileNumber,
 })
 
+const mapDispatchToProps = {
+    updateMobNum,
+}
 export default getOrderPhoneNumber