diff --git a/.gradle/4.10.1/fileHashes/fileHashes.bin b/.gradle/4.10.1/fileHashes/fileHashes.bin
index 02deedc5814959f128357c87a0994b209a1d3ae2..29584793c50b46d78c30e7229190cf9ed261c8d6 100644
Binary files a/.gradle/4.10.1/fileHashes/fileHashes.bin and b/.gradle/4.10.1/fileHashes/fileHashes.bin differ
diff --git a/.gradle/4.10.1/fileHashes/fileHashes.lock b/.gradle/4.10.1/fileHashes/fileHashes.lock
index acf75660016ce5c0c675cd5b76ffc35dd7628237..81c75125ec2d96a0363daf5a6356054287f2d898 100644
Binary files a/.gradle/4.10.1/fileHashes/fileHashes.lock and b/.gradle/4.10.1/fileHashes/fileHashes.lock differ
diff --git a/.gradle/4.10.1/javaCompile/classAnalysis.bin b/.gradle/4.10.1/javaCompile/classAnalysis.bin
index 559785a8f73aa73bc292b9356e2630828fdefcac..cb5d3c2ffab0db3f5f3b47879fef8d04b4bb19c6 100644
Binary files a/.gradle/4.10.1/javaCompile/classAnalysis.bin and b/.gradle/4.10.1/javaCompile/classAnalysis.bin differ
diff --git a/.gradle/4.10.1/javaCompile/javaCompile.lock b/.gradle/4.10.1/javaCompile/javaCompile.lock
index e50a017f161c7914315389f91502e9ea7d0f007d..0fbb7d68e70b8e059d51ebc3adb2ea36a615edb8 100644
Binary files a/.gradle/4.10.1/javaCompile/javaCompile.lock and b/.gradle/4.10.1/javaCompile/javaCompile.lock differ
diff --git a/.gradle/4.10.1/javaCompile/taskHistory.bin b/.gradle/4.10.1/javaCompile/taskHistory.bin
index 92e1e0db258834b53c7db68f5493883f54a7cf4f..61f64170c80516d9736e5700f0ef1adf568f920c 100644
Binary files a/.gradle/4.10.1/javaCompile/taskHistory.bin and b/.gradle/4.10.1/javaCompile/taskHistory.bin differ
diff --git a/.gradle/4.10.1/taskHistory/taskHistory.bin b/.gradle/4.10.1/taskHistory/taskHistory.bin
index 9657c0b71e1bf4223fa12522a9ee5b9fb872e000..32ec052b5b9f7a81345af0f75319d8b0ae7a6e9e 100644
Binary files a/.gradle/4.10.1/taskHistory/taskHistory.bin and b/.gradle/4.10.1/taskHistory/taskHistory.bin differ
diff --git a/.gradle/4.10.1/taskHistory/taskHistory.lock b/.gradle/4.10.1/taskHistory/taskHistory.lock
index 76333f0bb7a55c1538c4c989c4db528dc568e930..59263564cdf3c5b9cf947fb73cfc2c7e810a1930 100644
Binary files a/.gradle/4.10.1/taskHistory/taskHistory.lock and b/.gradle/4.10.1/taskHistory/taskHistory.lock differ
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index 9d57b62e43baf15e1bcd04c7c09b009b63258a65..2abc87c6c48ee2f198e3713c3e8c9df731688476 100644
Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
index e406b6c7537e62d71da87a25e6f39fbd51cd0dbc..6eac8d181dd47b14d9a4c0249aec623388bae4fb 100644
Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ
diff --git a/.idea/caches/gradle_models.ser b/.idea/caches/gradle_models.ser
index 9d8a1f4ee6ffed38c3e764ee4f585d5efc02b41d..c31f1dcb5b6155784b7c1cdcb5f1664b37d89709 100644
Binary files a/.idea/caches/gradle_models.ser and b/.idea/caches/gradle_models.ser differ
diff --git a/.idea/libraries/Gradle__com_android_support_support_media_compat_26_1_0_aar.xml b/.idea/libraries/Gradle__com_android_support_support_media_compat_26_1_0_aar.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3cea19bc5b24b708a2e69e990593001d2c55d4f8
--- /dev/null
+++ b/.idea/libraries/Gradle__com_android_support_support_media_compat_26_1_0_aar.xml
@@ -0,0 +1,12 @@
+<component name="libraryTable">
+  <library name="Gradle: com.android.support:support-media-compat:26.1.0@aar">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-media-compat-26.1.0.aar/ad29bd9984eead44f57602f2ab62412d/jars/classes.jar!/" />
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-media-compat-26.1.0.aar/ad29bd9984eead44f57602f2ab62412d/res" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-media-compat/26.1.0/774fd1164ec32514eec562953f723a1920a7fef7/support-media-compat-26.1.0-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_support_v4_26_1_0_aar.xml b/.idea/libraries/Gradle__com_android_support_support_v4_26_1_0_aar.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7305d1ef78e239c9b764eafc490f5e630639b446
--- /dev/null
+++ b/.idea/libraries/Gradle__com_android_support_support_v4_26_1_0_aar.xml
@@ -0,0 +1,12 @@
+<component name="libraryTable">
+  <library name="Gradle: com.android.support:support-v4:26.1.0@aar">
+    <CLASSES>
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-v4-26.1.0.aar/9f3ecf82a54f3b7080f8110bd9b3017e/res" />
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-v4-26.1.0.aar/9f3ecf82a54f3b7080f8110bd9b3017e/jars/classes.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-v4/26.1.0/9c53eab3272b3b26583b17facac2e90d264b2788/support-v4-26.1.0-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_google_android_gms_play_services_base_16_0_1_aar.xml b/.idea/libraries/Gradle__com_google_android_gms_play_services_base_16_0_1_aar.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5639a1add1d0e8e015d910af4205eab10d446e81
--- /dev/null
+++ b/.idea/libraries/Gradle__com_google_android_gms_play_services_base_16_0_1_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+  <library name="Gradle: com.google.android.gms:play-services-base:16.0.1@aar">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/play-services-base-16.0.1.aar/a596ba54f7ece20c794b8756f7366283/jars/classes.jar!/" />
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/play-services-base-16.0.1.aar/a596ba54f7ece20c794b8756f7366283/res" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES />
+  </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_16_0_1_aar.xml b/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_16_0_1_aar.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a35c77d2225f2b13a891948471154a174290058a
--- /dev/null
+++ b/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_16_0_1_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+  <library name="Gradle: com.google.android.gms:play-services-basement:16.0.1@aar">
+    <CLASSES>
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/play-services-basement-16.0.1.aar/4db704bbdce0340b659453d6be40f21a/res" />
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/play-services-basement-16.0.1.aar/4db704bbdce0340b659453d6be40f21a/jars/classes.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES />
+  </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_google_android_gms_play_services_maps_16_1_0_aar.xml b/.idea/libraries/Gradle__com_google_android_gms_play_services_maps_16_1_0_aar.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fce5f640c5ce201438166905ae772b81646fb8d6
--- /dev/null
+++ b/.idea/libraries/Gradle__com_google_android_gms_play_services_maps_16_1_0_aar.xml
@@ -0,0 +1,12 @@
+<component name="libraryTable">
+  <library name="Gradle: com.google.android.gms:play-services-maps:16.1.0@aar">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/play-services-maps-16.1.0.aar/4fe3fe5297f2d3c22e4984089140a40e/jars/classes.jar!/" />
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/play-services-maps-16.1.0.aar/4fe3fe5297f2d3c22e4984089140a40e/res" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.android.gms/play-services-maps/16.1.0/68568da8e0d63d5d6fc4b6dfe9e01edc038e6a43/play-services-maps-16.1.0-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES />
+  </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_16_0_1_aar.xml b/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_16_0_1_aar.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9070761c1fb63b4281d6e9a1a4ac009e345d5325
--- /dev/null
+++ b/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_16_0_1_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+  <library name="Gradle: com.google.android.gms:play-services-tasks:16.0.1@aar">
+    <CLASSES>
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/play-services-tasks-16.0.1.aar/0098d2ce6f951d3186548b6aa4dedf03/res" />
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/play-services-tasks-16.0.1.aar/0098d2ce6f951d3186548b6aa4dedf03/jars/classes.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES />
+  </library>
+</component>
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 20731a7c8185a353f04cf5b8a29fb3407e40e305..0579dc1e90841026fe513df121ade96d28da3343 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,11 +1,11 @@
-buildscript{
-    repositories{
+buildscript {
+    repositories {
         mavenCentral()
         google()
         jcenter()
     }
 
-    dependencies{
+    dependencies {
         classpath 'com.android.tools.build:gradle:3.3.2'
     }
 }
@@ -35,12 +35,13 @@ dependencies {
     implementation 'com.android.support:appcompat-v7:28.0.0'
     implementation 'com.android.support.constraint:constraint-layout:1.1.3'
     implementation 'com.android.support:design:28.0.0'
+    implementation 'com.google.android.gms:play-services-maps:16.1.0'
     testImplementation 'junit:junit:4.12'
     androidTestImplementation 'com.android.support.test:runner:1.0.2'
     androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
 }
 
-repositories{
+repositories {
     mavenCentral()
     google()
     jcenter()
diff --git a/src/debug/res/values/google_maps_api.xml b/src/debug/res/values/google_maps_api.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9aa8e74cc909bc9877f0e70eb13b7d57eb12893e
--- /dev/null
+++ b/src/debug/res/values/google_maps_api.xml
@@ -0,0 +1,28 @@
+<resources>
+    <!--
+    TODO: Before you run your application, you need a Google Maps API key.
+
+    To get one, follow this link, follow the directions and press "Create" at the end:
+
+    https://console.developers.google.com/flows/enableapi?apiid=maps_android_backend&keyType=CLIENT_SIDE_ANDROID&r=9F:7D:89:6C:8D:68:E1:AB:41:7C:BE:64:E7:8A:E1:E5:C7:BC:CD:62%3Bcom.example.liliyayankova.unirides
+
+    You can also add your credentials to an existing key, using these values:
+
+    Package name:
+    9F:7D:89:6C:8D:68:E1:AB:41:7C:BE:64:E7:8A:E1:E5:C7:BC:CD:62
+
+    SHA-1 certificate fingerprint:
+    9F:7D:89:6C:8D:68:E1:AB:41:7C:BE:64:E7:8A:E1:E5:C7:BC:CD:62
+
+    Alternatively, follow the directions here:
+    https://developers.google.com/maps/documentation/android/start#get-key
+
+    Once you have your key (it starts with "AIza"), replace the "google_maps_key"
+    string in this file.
+    -->
+
+    //google maps api key = "AIzaSyCnHWgrEhK2TSoEschf8WxjAHi2rkW4QkY"
+
+    //added the google maps api key = "AIzaSyCnHWgrEhK2TSoEschf8WxjAHi2rkW4QkY"
+    <string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">AIzaSyCnHWgrEhK2TSoEschf8WxjAHi2rkW4QkY</string>
+</resources>
diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml
index a90b0b7b848fe706fc1c2404818708f376bb3a84..264e7c608c65afaf50e1152d3a69f2dc48929f0b 100644
--- a/src/main/AndroidManifest.xml
+++ b/src/main/AndroidManifest.xml
@@ -2,6 +2,13 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.example.liliyayankova.unirides">
 
+    <!--
+         The ACCESS_COARSE/FINE_LOCATION permissions are not required to use
+         Google Maps Android API v2, but you must specify either coarse or fine
+         location permissions for the 'MyLocation' functionality.
+    -->
+    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+
     <!-- To auto-complete the email text field in the login form with the user's emails -->
     <uses-permission android:name="android.permission.GET_ACCOUNTS" />
     <uses-permission android:name="android.permission.READ_PROFILE" />
@@ -14,6 +21,22 @@
         android:roundIcon="@mipmap/ic_launcher_round"
         android:supportsRtl="true"
         android:theme="@style/AppTheme">
+
+        <!--
+             The API key for Google Maps-based APIs is defined as a string resource.
+             (See the file "res/values/google_maps_api.xml").
+             Note that the API key is linked to the encryption key used to sign the APK.
+             You need a different API key for each encryption key, including the release key that is used to
+             sign the APK for publishing.
+             You can define the keys for the debug and release targets in src/debug/ and src/release/.
+        -->
+        <meta-data
+            android:name="com.google.android.geo.API_KEY"
+            android:value="@string/google_maps_key" />
+
+        <activity
+            android:name=".Map"
+            android:label="@string/title_activity_map"></activity>
         <activity android:name=".Homepage">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
@@ -24,7 +47,7 @@
         <activity
             android:name=".Login"
             android:label="@string/title_activity_login" />
-        <activity android:name=".Register"></activity>
+        <activity android:name=".Register" />
     </application>
 
 </manifest>
\ No newline at end of file
diff --git a/src/main/java/com/example/liliyayankova/unirides/Login.java b/src/main/java/com/example/liliyayankova/unirides/Login.java
index 05916a0f4e3132f63a60904818a7c45ff6d24804..8c26afae4ded232e43a3067c0ce780e4fb8389b4 100644
--- a/src/main/java/com/example/liliyayankova/unirides/Login.java
+++ b/src/main/java/com/example/liliyayankova/unirides/Login.java
@@ -28,6 +28,7 @@ import android.widget.AutoCompleteTextView;
 import android.widget.Button;
 import android.widget.EditText;
 import android.widget.TextView;
+import android.content.Intent;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -333,7 +334,9 @@ public class Login extends AppCompatActivity implements LoaderCallbacks<Cursor>
             showProgress(false);
 
             if (success) {
-                finish();
+                //go to the google maps activity
+                Intent i = new Intent(Login.this, Map.class);
+                startActivity(i);
             } else {
                 mPasswordView.setError(getString(R.string.error_incorrect_password));
                 mPasswordView.requestFocus();
diff --git a/src/main/java/com/example/liliyayankova/unirides/Map.java b/src/main/java/com/example/liliyayankova/unirides/Map.java
new file mode 100644
index 0000000000000000000000000000000000000000..e0e7b99dbf94350b6c57b56527a208b3f19c65c5
--- /dev/null
+++ b/src/main/java/com/example/liliyayankova/unirides/Map.java
@@ -0,0 +1,46 @@
+package com.example.liliyayankova.unirides;
+
+import android.support.v4.app.FragmentActivity;
+import android.os.Bundle;
+
+import com.google.android.gms.maps.CameraUpdateFactory;
+import com.google.android.gms.maps.GoogleMap;
+import com.google.android.gms.maps.OnMapReadyCallback;
+import com.google.android.gms.maps.SupportMapFragment;
+import com.google.android.gms.maps.model.LatLng;
+import com.google.android.gms.maps.model.MarkerOptions;
+
+public class Map extends FragmentActivity implements OnMapReadyCallback {
+
+    private GoogleMap mMap;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_map);
+        // Obtain the SupportMapFragment and get notified when the map is ready to be used.
+        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
+                .findFragmentById(R.id.map);
+        mapFragment.getMapAsync(this);
+    }
+
+
+    /**
+     * Manipulates the map once available.
+     * This callback is triggered when the map is ready to be used.
+     * This is where we can add markers or lines, add listeners or move the camera. In this case,
+     * we just add a marker near Sydney, Australia.
+     * If Google Play services is not installed on the device, the user will be prompted to install
+     * it inside the SupportMapFragment. This method will only be triggered once the user has
+     * installed Google Play services and returned to the app.
+     */
+    @Override
+    public void onMapReady(GoogleMap googleMap) {
+        mMap = googleMap;
+
+        // Add a marker in Sydney and move the camera
+        LatLng sydney = new LatLng(-34, 151);
+        mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
+        mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
+    }
+}
diff --git a/src/main/res/drawable/logo_512x512.png b/src/main/res/drawable/logo_512x512.png
deleted file mode 100644
index 326bba7cd9644586f935867de1587198f438a567..0000000000000000000000000000000000000000
Binary files a/src/main/res/drawable/logo_512x512.png and /dev/null differ
diff --git a/src/main/res/drawable/logo_hd.png b/src/main/res/drawable/logo_hd.png
new file mode 100644
index 0000000000000000000000000000000000000000..cd3fed179f1a407ea84858fe016f9d39ca659bfd
Binary files /dev/null and b/src/main/res/drawable/logo_hd.png differ
diff --git a/src/main/res/layout/activity_homepage.xml b/src/main/res/layout/activity_homepage.xml
index 355a1972a6c494bf137cde2195841ddace43528a..e7bc7a4f1a7e44698e931c79757da55eb94c5060 100644
--- a/src/main/res/layout/activity_homepage.xml
+++ b/src/main/res/layout/activity_homepage.xml
@@ -16,11 +16,11 @@
 
     <ImageView
         android:id="@+id/imageView4"
-        android:layout_width="370dp"
-        android:layout_height="370dp"
+        android:layout_width="400dp"
+        android:layout_height="400dp"
         android:layout_weight="0"
         android:contentDescription="@string/app_logo"
-        android:src="@drawable/logo_512x512"
+        android:src="@drawable/logo_hd"
         tools:layout_editor_absoluteX="24dp"
         tools:layout_editor_absoluteY="23dp" />
 
@@ -33,6 +33,7 @@
         android:text="@string/welcome"
         android:textAlignment="center"
         android:textAllCaps="true"
+        android:textColor="@color/colorPrimary"
         android:textStyle="bold|italic" />
 
     <TextView
@@ -43,6 +44,7 @@
         android:gravity="top"
         android:text="@string/subheading"
         android:textAlignment="center"
+        android:textColor="@color/colorPrimary"
         android:textStyle="italic" />
 
     <LinearLayout
@@ -59,7 +61,7 @@
             android:layout_height="wrap_content"
             android:layout_marginLeft="20dp"
             android:layout_marginRight="20dp"
-            android:background="@color/design_default_color_primary_dark"
+            android:background="@color/colorPrimary"
             android:text="@string/login"
             android:textAllCaps="false"
             android:textColor="@color/ic_launcher_background"
@@ -72,7 +74,7 @@
             android:layout_height="wrap_content"
             android:layout_marginLeft="20dp"
             android:layout_marginRight="20dp"
-            android:background="@color/design_default_color_primary_dark"
+            android:background="@color/colorPrimaryDark"
             android:text="@string/register"
             android:textAllCaps="false"
             android:textColor="@color/ic_launcher_background"
diff --git a/src/main/res/layout/activity_login.xml b/src/main/res/layout/activity_login.xml
index bdcfbbcb417efc0bb52f0979ecc21133c9945afd..8f4404fe7ad988a84b19514b4bfcdf764864968f 100644
--- a/src/main/res/layout/activity_login.xml
+++ b/src/main/res/layout/activity_login.xml
@@ -73,7 +73,9 @@
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="16dp"
+                android:background="@color/colorPrimary"
                 android:text="@string/action_sign_in"
+                android:textColor="@color/ic_launcher_background"
                 android:textStyle="bold" />
 
         </LinearLayout>
diff --git a/src/main/res/layout/activity_map.xml b/src/main/res/layout/activity_map.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8cf42f577c0bc67e845f5ef610db7093a0cc6a64
--- /dev/null
+++ b/src/main/res/layout/activity_map.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<fragment xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:map="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/map"
+    android:name="com.google.android.gms.maps.SupportMapFragment"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".Map" />
\ No newline at end of file
diff --git a/src/main/res/layout/activity_register.xml b/src/main/res/layout/activity_register.xml
index 9bb4469a7fcb98956430ef822fe2bab38c970d65..cc2d3bcf373149e408b46b5247eac35428221b57 100644
--- a/src/main/res/layout/activity_register.xml
+++ b/src/main/res/layout/activity_register.xml
@@ -1,55 +1,95 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_height="match_parent"
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:gravity="center"
+    android:layout_height="match_parent"
     android:orientation="vertical"
-    android:padding="10dp" >
+    android:padding="10dp">
 
-    <EditText
-        android:id="@+id/forename"
+    <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:inputType="text"
-        android:hint="@string/name" />
+        android:layout_weight="2"
+        android:gravity="center"
+        android:orientation="vertical">
 
-    <EditText
-        android:id="@+id/surname"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:inputType="text"
-        android:hint="@string/lastname" />
+        <EditText
+            android:id="@+id/forename"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:hint="@string/name"
+            android:inputType="text" />
 
-    <EditText
-        android:id="@+id/email"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:inputType="textEmailAddress"
-        android:hint="@string/prompt_email" />
+        <EditText
+            android:id="@+id/surname"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:hint="@string/lastname"
+            android:inputType="text" />
 
-    <EditText
-        android:id="@+id/password"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:inputType="text"
-        android:hint="@string/prompt_password" />
+        <EditText
+            android:id="@+id/email"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:hint="@string/prompt_email"
+            android:inputType="textEmailAddress" />
+
+        <EditText
+            android:id="@+id/password"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:hint="@string/prompt_password"
+            android:inputType="textPassword"
+            />
+
+        <EditText
+            android:id="@+id/age"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:hint="@string/prompt_age"
+            android:inputType="number" />
+
+    </LinearLayout>
 
-    <EditText
-        android:id="@+id/age"
+    <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:inputType="number"
-        android:hint="@string/prompt_age" />
+        android:layout_weight="1"
+        android:orientation="vertical">
+
+        <TextView
+            android:id="@+id/tickbox_text"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="5dp"
+            android:text="@string/tickbox_text"
+            android:textSize="14sp"
+            android:textStyle="bold" />
+
+        <CheckBox
+            android:id="@+id/checkBox_student"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:text="@string/student_confirmation" />
+
+        <CheckBox
+            android:id="@+id/checkBox_TandC"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:text="@string/terms_and_conditions" />
+
+    </LinearLayout>
 
     <Button
         android:id="@+id/signup"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
+        android:layout_gravity="center"
+        android:layout_marginBottom="100dp"
+        android:background="@color/colorPrimary"
         android:text="@string/sign"
-        android:textAllCaps="false"
-        android:layout_marginTop="16dp"
-        android:textStyle="bold"/>
+        android:textAllCaps="true"
+        android:textColor="@color/ic_launcher_background"
+        android:textStyle="bold" />
 
 
 </LinearLayout>
diff --git a/src/main/res/values/colors.xml b/src/main/res/values/colors.xml
index 69b22338c6510250df3b43672635120dbce2fa49..940fbf655544ef2eb464e8e8ae3ac6a969fc2d7c 100644
--- a/src/main/res/values/colors.xml
+++ b/src/main/res/values/colors.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-    <color name="colorPrimary">#008577</color>
-    <color name="colorPrimaryDark">#00574B</color>
-    <color name="colorAccent">#D81B60</color>
+    <color name="colorPrimary">#1D3B76</color>
+    <color name="colorPrimaryDark">#FF280C</color>
+    <color name="colorAccent">#FFAE98</color>
 </resources>
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index f1fcf578efbb5579c633d48aa040988e4de5e4cc..03b75b715c988eab0913ffdf23af444565068175 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -22,4 +22,8 @@
     <string name="prompt_age">Age</string>
     <string name="sign">Sign up</string>
     <string name="app_logo">App Logo</string>
+    <string name="tickbox_text">Tick the appropriate boxes:</string>
+    <string name="student_confirmation">I am a university student or professor</string>
+    <string name="terms_and_conditions">I agree with UniRides Terms and Conditions</string>
+    <string name="title_activity_map">Map</string>
 </resources>
diff --git a/src/release/res/values/google_maps_api.xml b/src/release/res/values/google_maps_api.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1ef79e9f2e292599818e1e59663e66cb62fe2ab5
--- /dev/null
+++ b/src/release/res/values/google_maps_api.xml
@@ -0,0 +1,20 @@
+<resources>
+    <!--
+    TODO: Before you release your application, you need a Google Maps API key.
+
+    To do this, you can either add your release key credentials to your existing
+    key, or create a new key.
+
+    Note that this file specifies the API key for the release build target.
+    If you have previously set up a key for the debug target with the debug signing certificate,
+    you will also need to set up a key for your release certificate.
+
+    Follow the directions here:
+
+    https://developers.google.com/maps/documentation/android/signup
+
+    Once you have your key (it starts with "AIza"), replace the "google_maps_key"
+    string in this file.
+    -->
+    <string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">YOUR_KEY_HERE</string>
+</resources>
diff --git a/unirides.iml b/unirides.iml
index 15a0a17a56149ed8fa5e18d7f452b284005ff9a1..4d11035480b30f1028565ab613e5bb602f0c4a31 100644
--- a/unirides.iml
+++ b/unirides.iml
@@ -17,7 +17,7 @@
         <option name="ALLOW_USER_CONFIGURATION" value="false" />
         <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
         <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
-        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res;file://$MODULE_DIR$/build/generated/res/rs/debug;file://$MODULE_DIR$/build/generated/res/resValues/debug" />
+        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res;file://$MODULE_DIR$/src/debug/res;file://$MODULE_DIR$/build/generated/res/rs/debug;file://$MODULE_DIR$/build/generated/res/resValues/debug" />
         <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
       </configuration>
     </facet>
@@ -133,50 +133,56 @@
     <orderEntry type="library" name="Gradle: com.android.support:design:28.0.0@aar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-fragment:28.0.0@aar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:localbroadcastmanager:28.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:documentfile:28.0.0@aar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:animated-vector-drawable:28.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:slidingpanelayout:28.0.0@aar" level="project" />
     <orderEntry type="library" name="Gradle: android.arch.lifecycle:viewmodel:1.1.1@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:appcompat-v7:28.0.0@aar" level="project" />
     <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-idling-resource:3.0.2@aar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:loader:28.0.0@aar" level="project" />
     <orderEntry type="library" name="Gradle: android.arch.core:runtime:1.1.1@aar" level="project" />
     <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:runner:1.0.2@aar" level="project" />
     <orderEntry type="library" name="Gradle: android.arch.lifecycle:livedata-core:1.1.1@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:collections:28.0.0@jar" level="project" />
     <orderEntry type="library" scope="TEST" name="Gradle: com.squareup:javawriter:2.1.1@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:cursoradapter:28.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: android.arch.lifecycle:runtime:1.1.1@aar" level="project" />
     <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-core:3.0.2@aar" level="project" />
+    <orderEntry type="library" name="Gradle: android.arch.lifecycle:runtime:1.1.1@aar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-compat:28.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:support-core-ui:28.0.0@aar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:cardview-v7:28.0.0@aar" level="project" />
+    <orderEntry type="library" scope="TEST" name="Gradle: javax.inject:javax.inject:1@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.google.android.gms:play-services-maps:16.1.0@aar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-vector-drawable:28.0.0@aar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-core-utils:28.0.0@aar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:recyclerview-v7:28.0.0@aar" level="project" />
+    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:monitor:1.0.2@aar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-annotations:28.0.0@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:interpolator:28.0.0@aar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:transition:28.0.0@aar" level="project" />
+    <orderEntry type="library" name="Gradle: android.arch.lifecycle:livedata:1.1.1@aar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:drawerlayout:28.0.0@aar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support.constraint:constraint-layout-solver:1.1.3@jar" level="project" />
+    <orderEntry type="library" scope="TEST" name="Gradle: net.sf.kxml:kxml2:2.3.0@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:documentfile:28.0.0@aar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:slidingpanelayout:28.0.0@aar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:appcompat-v7:28.0.0@aar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:collections:28.0.0@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-v4:26.1.0@aar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-core-ui:28.0.0@aar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:asynclayoutinflater:28.0.0@aar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support.constraint:constraint-layout:1.1.3@aar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:print:28.0.0@aar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-media-compat:26.1.0@aar" level="project" />
     <orderEntry type="library" scope="TEST" name="Gradle: com.google.code.findbugs:jsr305:2.0.1@jar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: javax.inject:javax.inject:1@jar" level="project" />
     <orderEntry type="library" name="Gradle: android.arch.core:common:1.1.1@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:versionedparcelable:28.0.0@aar" level="project" />
+    <orderEntry type="library" name="Gradle: com.google.android.gms:play-services-base:16.0.1@aar" level="project" />
     <orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.12@jar" level="project" />
     <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-core:1.3@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:viewpager:28.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:support-core-utils:28.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:recyclerview-v7:28.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:support-vector-drawable:28.0.0@aar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:monitor:1.0.2@aar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-library:1.3@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.google.android.gms:play-services-basement:16.0.1@aar" level="project" />
     <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-integration:1.3@jar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:support-annotations:28.0.0@jar" level="project" />
+    <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-library:1.3@jar" level="project" />
     <orderEntry type="library" name="Gradle: android.arch.lifecycle:common:1.1.1@jar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:interpolator:28.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:transition:28.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: android.arch.lifecycle:livedata:1.1.1@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:drawerlayout:28.0.0@aar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:coordinatorlayout:28.0.0@aar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:customview:28.0.0@aar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:swiperefreshlayout:28.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support.constraint:constraint-layout-solver:1.1.3@jar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: net.sf.kxml:kxml2:2.3.0@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.google.android.gms:play-services-tasks:16.0.1@aar" level="project" />
   </component>
 </module>
\ No newline at end of file