diff --git a/android/app/build.gradle b/android/app/build.gradle
index 5355468def023958b3ac8aa25660fe7ec0fa450a..3c017060a0484bf6022fa7375818dc9bac7a7e53 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -47,7 +47,7 @@ android {
         applicationId "com.example.router_app"
         // You can update the following values to match your application needs.
         // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
-        minSdkVersion flutter.minSdkVersion
+        minSdkVersion 20
         targetSdkVersion flutter.targetSdkVersion
         versionCode flutterVersionCode.toInteger()
         versionName flutterVersionName
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 89d872b66336adb9f8e2ab01480213fd85ba1e4f..905e23fa8ca627247b119bd9ef7bf29ff63c6149 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -32,7 +32,8 @@
             android:value="2" />
         <meta-data android:name="com.google.andoid.geo.API_KEY"
                 android:value="AIzaSyAzedQacDEZmyxAOUEEeocvehT8MEdMWys"/>   
-        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
-        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
     </application>
+
+    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
 </manifest>
diff --git a/lib/main.dart b/lib/main.dart
index 46082909150b934d73dfe699fad54d20163575dd..9aad9b747c85e611159ec7a53db39f3572affd37 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -214,17 +214,32 @@ class _MyHomePageState extends State<MyHomePage> {
       var destlon = _destCoordinates.longitude;
 
       // Get direction data
-      final response = await http.get(
-        Uri.parse(
-          'https://api.openrouteservice.org/v2/directions/driving-car?api_key=${config.OSM_API}&start=$originlon,$originlat&end=$destlon,$destlat',
+      // No weather or days included for now
+      final response = await http.post(
+        Uri.parse('http://10.0.2.2:8080/route'),
+        body: jsonEncode(
+          {   
+            "start_node": {
+              "lat": originlat, 
+              "lon": originlon
+            }, 
+            "end_node": {
+              "lat": destlat, 
+              "lon": destlon
+            }, 
+            "forbidden": [], 
+            "start_after_today": 0, 
+            "end_after_today": 0
+          }
         ),
+        headers: <String, String>{"Content-Type": "application/json"}
       );
       _data = jsonDecode(response.body);
-      var coordinates = _data['features'][0]['geometry']['coordinates'];
-      double duration =
-          _data['features'][0]['properties']['segments'][0]['duration'];
-      double distance =
-          _data['features'][0]['properties']['segments'][0]['distance'];
+      var coordinates = _data['route'];
+      int duration = _data['duration'];
+      int distance = _data['distance'];
+      //TODO include day
+      int daysAfterToday = _data['days_after_today'];
 
       // Format duration and distance
       _totalDuration = getTotalDuration(duration);
@@ -260,12 +275,11 @@ class _MyHomePageState extends State<MyHomePage> {
 
     // Draw polyline based on given coordinates
     for (int i = 0; i < ls.lineString.length; i++) {
-      _polyline.add(latlng.LatLng(ls.lineString[i][1], ls.lineString[i][0]));
+      _polyline.add(latlng.LatLng(ls.lineString[i][0], ls.lineString[i][1]));
     }
   }
 
-  String getTotalDuration(double duration) {
-    double durationInMins = duration / 60;
+  String getTotalDuration(int durationInMins) {
     int hours = (durationInMins / 60).floor();
     int min = (durationInMins % 60).floor();
     if (hours != 0) {
@@ -274,7 +288,7 @@ class _MyHomePageState extends State<MyHomePage> {
     return '$min mins';
   }
 
-  String getTotalDistance(double distance) {
+  String getTotalDistance(int distance) {
     int distanceInKm = (distance / 1000).ceil();
     return '$distanceInKm km';
   }
@@ -954,8 +968,9 @@ class _MyHomePageState extends State<MyHomePage> {
                   itemCount: 1,
                   padding: EdgeInsets.all(20),
                   itemBuilder: (BuildContext context, int index) {
-                    return Expanded(
-                      child: Column(
+                    return Stack(
+                      children: [
+                        Column(
                         children: [
                           Container(
                             margin: EdgeInsets.only(bottom: 15, top: 5),
@@ -1231,6 +1246,7 @@ class _MyHomePageState extends State<MyHomePage> {
                             ),
                         ],
                       ),
+                      ],
                     );
                   },
                 ),