diff --git a/app/src/main/java/it/reyboz/bustorino/ActivityAbout.java b/app/src/main/java/it/reyboz/bustorino/ActivityAbout.java
deleted file mode 100644
--- a/app/src/main/java/it/reyboz/bustorino/ActivityAbout.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
-	BusTO - Arrival times for Turin public transports.
-    Copyright (C) 2014  Valerio Bozzolan
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-package it.reyboz.bustorino;
-
-import android.content.Intent;
-import android.net.Uri;
-import android.util.Log;
-import androidx.appcompat.widget.Toolbar;
-import androidx.appcompat.app.AppCompatActivity;
-import android.text.Html;
-import android.text.Spanned;
-import android.text.method.LinkMovementMethod;
-import android.os.Bundle;
-import android.view.MenuItem;
-import android.view.View;
-import android.widget.Button;
-import android.widget.TextView;
-import android.widget.Toast;
-
-import it.reyboz.bustorino.backend.utils;
-import it.reyboz.bustorino.middleware.BarcodeScanUtils;
-
-public class ActivityAbout extends AppCompatActivity {
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_about);
-        Spanned htmlText = utils.convertHtml(getResources().getString(
-                R.string.about_history));
-        TextView aboutTextView = findViewById(R.id.aboutTextView);
-        assert aboutTextView != null;
-        aboutTextView.setText(htmlText);
-        aboutTextView.setMovementMethod(LinkMovementMethod.getInstance());
-
-        Toolbar mToolbar = findViewById(R.id.default_toolbar);
-        setSupportActionBar(mToolbar);
-        if (getSupportActionBar()!=null)
-            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
-
-        TextView versionText = findViewById(R.id.versionTextView);
-        Log.d("BusTO About", "The version text view is: "+versionText);
-        versionText.setText(getResources().getText(R.string.app_version)+": "+BuildConfig.VERSION_NAME);
-
-        Button openTelegramButton = findViewById(R.id.openTelegramButton);
-        openTelegramButton.setOnClickListener(view -> {
-
-            Intent trueIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("tg://resolve?domain=busto_fdroid"));
-            if(BarcodeScanUtils.checkTargetPackageExists(this, trueIntent))
-                startActivity(trueIntent);
-            else{
-                Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://t.me/busto_fdroid"));
-                startActivity(intent);
-               // Toast.makeText(this, "Install Telegram and retry", Toast.LENGTH_SHORT).show();
-            }
-
-        });
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        // Respond to the action bar's Up/Home button
-        if (item.getItemId() == android.R.id.home) {//NavUtils.navigateUpFromSameTask(this);
-            onBackPressed();
-            return true;
-        }
-        return super.onOptionsItemSelected(item);
-    }
-}
diff --git a/app/src/main/java/it/reyboz/bustorino/ActivityAbout.kt b/app/src/main/java/it/reyboz/bustorino/ActivityAbout.kt
new file mode 100644
--- /dev/null
+++ b/app/src/main/java/it/reyboz/bustorino/ActivityAbout.kt
@@ -0,0 +1,105 @@
+/*
+	BusTO - Arrival times for Turin public transports.
+    Copyright (C) 2014  Valerio Bozzolan
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package it.reyboz.bustorino
+
+import android.content.Intent
+import android.net.Uri
+import android.os.Bundle
+import android.text.method.LinkMovementMethod
+import android.util.Log
+import android.view.MenuItem
+import android.view.View
+import android.widget.Button
+import android.widget.TextView
+import androidx.appcompat.app.AppCompatActivity
+import it.reyboz.bustorino.backend.utils
+import it.reyboz.bustorino.middleware.BarcodeScanUtils
+
+class ActivityAbout : AppCompatActivity() {
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        setContentView(R.layout.activity_about)
+        //TOP TEXT VIEW
+        val topTextView = checkNotNull(findViewById<TextView>(R.id.topTextView))
+        val telegramTextView= checkNotNull(findViewById<TextView>(R.id.telegramTextView))
+        val howTextView = checkNotNull(findViewById<TextView>(R.id.howDoesItWorkTextView))
+        val bottomTextView= checkNotNull(findViewById<TextView>(R.id.bottomAboutTextView))
+
+        val textviews = arrayOf(topTextView, telegramTextView,howTextView,bottomTextView)
+        val stringsForTextViews  = arrayOf(R.string.about_history_top, R.string.about_channel, R.string.about_how, R.string.about_history_bottom)
+
+        for (i in 0 until 4) {
+            val htmlText = utils.convertHtml(
+                resources.getString(
+                    stringsForTextViews[i]
+                )
+            )
+            //val aboutTextView = checkNotNull(findViewById<TextView>(R.id.aboutTextView))
+            val textView = textviews[i]
+            textView.text = htmlText
+            textView.movementMethod = LinkMovementMethod.getInstance()
+        }
+
+        /*Toolbar mToolbar = findViewById(R.id.default_toolbar);
+        setSupportActionBar(mToolbar);
+
+         */
+        if (supportActionBar != null) supportActionBar!!.setDisplayHomeAsUpEnabled(true)
+
+        val versionText = findViewById<TextView>(R.id.versionTextView)
+        Log.d("BusTO About", "The version text view is: $versionText")
+        versionText.text = resources.getText(R.string.app_version).toString() + ": " + BuildConfig.VERSION_NAME
+
+        val openTelegramButton = findViewById<Button>(R.id.openTelegramButton)
+        openTelegramButton.setOnClickListener { view: View? ->
+            val trueIntent = Intent(Intent.ACTION_VIEW, Uri.parse("tg://resolve?domain=busto_fdroid"))
+            if (BarcodeScanUtils.checkTargetPackageExists(this, trueIntent)) startActivity(trueIntent)
+            else {
+                val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://t.me/busto_fdroid"))
+                startActivity(intent)
+                // Toast.makeText(this, "Install Telegram and retry", Toast.LENGTH_SHORT).show();
+            }
+        }
+        val openSourceButton = findViewById<Button>(R.id.openSourceButton)
+        openSourceButton.setOnClickListener { view: View? ->
+            utils.openIceweasel(utils.SOURCE_CODE_URL, this)
+        }
+        val contributeButton = findViewById<Button>(R.id.openContributeButton)
+        contributeButton.setOnClickListener { view: View? ->
+            utils.openIceweasel(getString(R.string.hack_url), this)
+        }
+        val openTutorialButton = findViewById<Button>(R.id.openTutorialButton)
+        openTutorialButton.setOnClickListener {
+            startIntroductionActivity()
+        }
+    }
+
+    fun startIntroductionActivity() {
+        val intent = Intent(this, ActivityIntro::class.java)
+        intent.putExtra(ActivityIntro.RESTART_MAIN, false)
+        startActivity(intent)
+    }
+    override fun onOptionsItemSelected(item: MenuItem): Boolean {
+        // Respond to the action bar's Up/Home button
+        if (item.itemId == android.R.id.home) { //NavUtils.navigateUpFromSameTask(this);
+            onBackPressed()
+            return true
+        }
+        return super.onOptionsItemSelected(item)
+    }
+}
diff --git a/app/src/main/java/it/reyboz/bustorino/backend/utils.java b/app/src/main/java/it/reyboz/bustorino/backend/utils.java
--- a/app/src/main/java/it/reyboz/bustorino/backend/utils.java
+++ b/app/src/main/java/it/reyboz/bustorino/backend/utils.java
@@ -46,6 +46,7 @@
 
 public abstract class utils {
     private static final double EARTH_RADIUS = 6371.009e3;
+    public static final String SOURCE_CODE_URL ="https://gitpull.it/source/libre-busto/";
 
 
     public static Double measuredistanceBetween(double lat1,double long1,double lat2,double long2){
diff --git a/app/src/main/java/it/reyboz/bustorino/fragments/NearbyStopsFragment.java b/app/src/main/java/it/reyboz/bustorino/fragments/NearbyStopsFragment.java
--- a/app/src/main/java/it/reyboz/bustorino/fragments/NearbyStopsFragment.java
+++ b/app/src/main/java/it/reyboz/bustorino/fragments/NearbyStopsFragment.java
@@ -427,6 +427,10 @@
             setNoStopsLayout();
             return;
         }
+        if (location == null){
+            // we could do something better, but it's better to do this for now
+            return;
+        }
 
         double minDistance = Double.POSITIVE_INFINITY;
         for(Stop s: stops){
diff --git a/app/src/main/res/drawable/cog_8_question_transp.xml b/app/src/main/res/drawable/cog_8_question_transp.xml
new file mode 100644
--- /dev/null
+++ b/app/src/main/res/drawable/cog_8_question_transp.xml
@@ -0,0 +1,11 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="36dp"
+    android:height="36dp"
+    android:viewportWidth="64"
+        android:tint="?attr/colorOnPrimary"
+    android:viewportHeight="64">
+  <path
+      android:pathData="m31.488,3c-2.725,0 -5.051,1.969 -5.5,4.658l-0.273,1.633c-0.153,0.834 -0.74,1.528 -1.539,1.813 -0.481,0.18 -0.951,0.375 -1.418,0.588 -0.766,0.364 -1.673,0.289 -2.371,-0.193L19.039,10.535C16.82,8.95 13.781,9.204 11.854,11.133l-0.721,0.721c-1.928,1.928 -2.183,4.967 -0.598,7.186l0.963,1.348c0.482,0.698 0.558,1.605 0.193,2.371 -0.213,0.467 -0.408,0.937 -0.588,1.418 -0.285,0.799 -0.978,1.386 -1.813,1.539L7.658,25.988C4.971,26.437 3.001,28.763 3,31.488v1.023c0,2.725 1.969,5.051 4.658,5.5l1.633,0.273c0.836,0.14 1.515,0.745 1.813,1.539 0.178,0.482 0.377,0.951 0.588,1.418 0.364,0.766 0.289,1.673 -0.193,2.371l-0.963,1.348c-1.585,2.219 -1.331,5.258 0.598,7.186l0.721,0.721c1.927,1.927 4.967,2.183 7.186,0.598l1.348,-0.963c0.698,-0.482 1.605,-0.558 2.371,-0.193 0.467,0.211 0.936,0.406 1.418,0.588 0.794,0.297 1.399,0.977 1.539,1.813l0.273,1.633C26.434,59.028 28.761,61 31.488,61h1.023c2.725,0 5.051,-1.969 5.5,-4.658l0.273,-1.633c0.153,-0.834 0.74,-1.528 1.539,-1.813 0.481,-0.18 0.951,-0.375 1.418,-0.588 0.766,-0.364 1.673,-0.289 2.371,0.193l1.348,0.963c2.219,1.585 5.258,1.331 7.186,-0.598l0.721,-0.721c1.927,-1.927 2.183,-4.967 0.598,-7.186l-0.963,-1.348c-0.482,-0.698 -0.558,-1.605 -0.193,-2.371 0.211,-0.467 0.406,-0.936 0.588,-1.418 0.297,-0.794 0.977,-1.399 1.813,-1.539l1.633,-0.273c2.689,-0.449 4.659,-2.774 4.658,-5.5v-1.023c0,-2.725 -1.969,-5.051 -4.658,-5.5l-1.633,-0.273c-0.834,-0.153 -1.528,-0.74 -1.813,-1.539 -0.18,-0.481 -0.375,-0.951 -0.588,-1.418 -0.364,-0.766 -0.289,-1.673 0.193,-2.371l0.963,-1.348c1.585,-2.219 1.331,-5.258 -0.598,-7.186L52.146,11.133C50.219,9.204 47.18,8.95 44.961,10.535l-1.348,0.963c-0.698,0.482 -1.605,0.558 -2.371,0.193 -0.467,-0.213 -0.937,-0.408 -1.418,-0.588 -0.799,-0.285 -1.386,-0.978 -1.539,-1.813L38.012,7.658C37.562,4.969 35.238,2.999 32.512,3ZM32.789,16c1.219,0 2.347,0.178 3.381,0.533 1.05,0.355 1.953,0.856 2.709,1.504 0.756,0.648 1.349,1.435 1.781,2.361 0.432,0.926 0.648,1.969 0.648,3.127 0,1.173 -0.176,2.184 -0.531,3.033 -0.34,0.849 -0.78,1.598 -1.32,2.246 -0.525,0.633 -1.103,1.188 -1.736,1.666l-1.76,1.32c-0.556,0.417 -1.034,0.833 -1.436,1.25 -0.386,0.417 -0.61,0.879 -0.672,1.389L33.438,37.973h-2.824l-0.279,-3.844c-0.062,-0.695 0.07,-1.297 0.395,-1.807 0.324,-0.525 0.749,-1.009 1.273,-1.457 0.525,-0.463 1.103,-0.912 1.736,-1.344 0.633,-0.448 1.22,-0.942 1.76,-1.482 0.556,-0.54 1.018,-1.149 1.389,-1.828 0.37,-0.695 0.557,-1.522 0.557,-2.479 0,-0.664 -0.132,-1.264 -0.395,-1.805 -0.262,-0.54 -0.617,-0.997 -1.064,-1.367 -0.448,-0.386 -0.98,-0.678 -1.598,-0.879 -0.602,-0.201 -1.251,-0.301 -1.945,-0.301 -0.942,0 -1.752,0.116 -2.432,0.348 -0.664,0.232 -1.226,0.486 -1.689,0.764 -0.463,0.278 -0.841,0.532 -1.135,0.764 -0.278,0.232 -0.51,0.348 -0.695,0.348 -0.386,0 -0.686,-0.178 -0.902,-0.533L24.5,19.334c0.479,-0.448 1.003,-0.872 1.574,-1.273 0.587,-0.401 1.219,-0.756 1.898,-1.064 0.695,-0.309 1.435,-0.549 2.223,-0.719C30.998,16.092 31.863,16 32.789,16ZM31.887,42.189c0.401,0 0.778,0.076 1.133,0.23 0.355,0.154 0.665,0.363 0.928,0.625 0.262,0.262 0.471,0.571 0.625,0.926 0.154,0.355 0.23,0.733 0.23,1.135 0,0.417 -0.076,0.803 -0.23,1.158 -0.154,0.34 -0.363,0.64 -0.625,0.902 -0.262,0.262 -0.573,0.463 -0.928,0.602C32.665,47.922 32.288,48 31.887,48c-0.401,0 -0.78,-0.078 -1.135,-0.232 -0.355,-0.139 -0.663,-0.339 -0.926,-0.602 -0.247,-0.262 -0.449,-0.563 -0.604,-0.902 -0.139,-0.355 -0.207,-0.741 -0.207,-1.158 0,-0.401 0.068,-0.78 0.207,-1.135 0.154,-0.355 0.357,-0.663 0.604,-0.926 0.262,-0.262 0.571,-0.471 0.926,-0.625 0.355,-0.154 0.733,-0.23 1.135,-0.23z"
+      android:strokeWidth="2.97436"
+      android:fillColor="#000000"/>
+</vector>
diff --git a/app/src/main/res/drawable/file_earmark_code_fill.xml b/app/src/main/res/drawable/file_earmark_code_fill.xml
new file mode 100644
--- /dev/null
+++ b/app/src/main/res/drawable/file_earmark_code_fill.xml
@@ -0,0 +1,6 @@
+<vector android:height="32dp" android:viewportHeight="16"
+    android:viewportWidth="16" android:width="32dp"
+        android:tint="?attr/colorOnPrimary"
+        xmlns:android="http://schemas.android.com/apk/res/android">
+    <path android:fillColor="#000000" android:pathData="M9.293,0L4,0a2,2 0,0 0,-2 2v12a2,2 0,0 0,2 2h8a2,2 0,0 0,2 -2L14,4.707A1,1 0,0 0,13.707 4L10,0.293A1,1 0,0 0,9.293 0M9.5,3.5v-2l3,3h-2a1,1 0,0 1,-1 -1M6.646,7.646a0.5,0.5 0,1 1,0.708 0.708L5.707,10l1.647,1.646a0.5,0.5 0,0 1,-0.708 0.708l-2,-2a0.5,0.5 0,0 1,0 -0.708zM9.354,7.646 L11.354,9.646a0.5,0.5 0,0 1,0 0.708l-2,2a0.5,0.5 0,0 1,-0.708 -0.708L10.293,10 8.646,8.354a0.5,0.5 0,1 1,0.708 -0.708"/>
+</vector>
diff --git a/app/src/main/res/drawable/journals.xml b/app/src/main/res/drawable/journals.xml
new file mode 100644
--- /dev/null
+++ b/app/src/main/res/drawable/journals.xml
@@ -0,0 +1,7 @@
+<vector android:autoMirrored="true" android:height="32sp"
+    android:viewportHeight="16" android:viewportWidth="16"
+    android:width="32sp" xmlns:android="http://schemas.android.com/apk/res/android"
+        android:tint="?attr/colorOnPrimary">
+    <path android:fillColor="#000000    " android:pathData="M5,0h8a2,2 0,0 1,2 2v10a2,2 0,0 1,-2 2,2 2,0 0,1 -2,2H3a2,2 0,0 1,-2 -2h1a1,1 0,0 0,1 1h8a1,1 0,0 0,1 -1V4a1,1 0,0 0,-1 -1H3a1,1 0,0 0,-1 1H1a2,2 0,0 1,2 -2h8a2,2 0,0 1,2 2v9a1,1 0,0 0,1 -1V2a1,1 0,0 0,-1 -1H5a1,1 0,0 0,-1 1H3a2,2 0,0 1,2 -2"/>
+    <path android:fillColor="#000000" android:pathData="M1,6v-0.5a0.5,0.5 0,0 1,1 0L2,6h0.5a0.5,0.5 0,0 1,0 1h-2a0.5,0.5 0,0 1,0 -1zM1,9v-0.5a0.5,0.5 0,0 1,1 0L2,9h0.5a0.5,0.5 0,0 1,0 1h-2a0.5,0.5 0,0 1,0 -1zM1,11.5v0.5L0.5,12a0.5,0.5 0,0 0,0 1h2a0.5,0.5 0,0 0,0 -1L2,12v-0.5a0.5,0.5 0,0 0,-1 0"/>
+</vector>
diff --git a/app/src/main/res/drawable/telegram_logo_50.xml b/app/src/main/res/drawable/telegram_logo_50.xml
--- a/app/src/main/res/drawable/telegram_logo_50.xml
+++ b/app/src/main/res/drawable/telegram_logo_50.xml
@@ -1,7 +1,7 @@
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:aapt="http://schemas.android.com/aapt"
-    android:width="50dp"
-    android:height="50dp"
+    android:width="40dp"
+    android:height="40dp"
     android:viewportWidth="50"
     android:viewportHeight="50">
   <path
diff --git a/app/src/main/res/drawable/telegram_logo_white.xml b/app/src/main/res/drawable/telegram_logo_white.xml
new file mode 100644
--- /dev/null
+++ b/app/src/main/res/drawable/telegram_logo_white.xml
@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="32sp"
+    android:height="32sp"
+    android:viewportWidth="16"
+        android:tint="?attr/colorOnPrimary"
+    android:viewportHeight="16">
+  <path
+      android:pathData="M16,8A8,8 0,1 1,0 8a8,8 0,0 1,16 0M8.287,5.906q-1.168,0.486 -4.666,2.01 -0.567,0.225 -0.595,0.442c-0.03,0.243 0.275,0.339 0.69,0.47l0.175,0.055c0.408,0.133 0.958,0.288 1.243,0.294q0.39,0.01 0.868,-0.32 3.269,-2.206 3.374,-2.23c0.05,-0.012 0.12,-0.026 0.166,0.016s0.042,0.12 0.037,0.141c-0.03,0.129 -1.227,1.241 -1.846,1.817 -0.193,0.18 -0.33,0.307 -0.358,0.336a8,8 0,0 1,-0.188 0.186c-0.38,0.366 -0.664,0.64 0.015,1.088 0.327,0.216 0.589,0.393 0.85,0.571 0.284,0.194 0.568,0.387 0.936,0.629q0.14,0.092 0.27,0.187c0.331,0.236 0.63,0.448 0.997,0.414 0.214,-0.02 0.435,-0.22 0.547,-0.82 0.265,-1.417 0.786,-4.486 0.906,-5.751a1.4,1.4 0,0 0,-0.013 -0.315,0.34 0.34,0 0,0 -0.114,-0.217 0.53,0.53 0,0 0,-0.31 -0.093c-0.3,0.005 -0.763,0.166 -2.984,1.09"
+      android:fillColor="#000000"/>
+</vector>
diff --git a/app/src/main/res/drawable/volunteer_36.xml b/app/src/main/res/drawable/volunteer_36.xml
new file mode 100644
--- /dev/null
+++ b/app/src/main/res/drawable/volunteer_36.xml
@@ -0,0 +1,9 @@
+<vector android:autoMirrored="true"
+        android:height="36dp"
+    android:tint="?attr/colorOnPrimary" android:viewportHeight="24"
+    android:viewportWidth="24"
+        android:width="36dp" xmlns:android="http://schemas.android.com/apk/res/android">
+    <path android:fillColor="@android:color/white" android:pathData="M1,11h4v11h-4z"/>
+    <path android:fillColor="@android:color/white" android:pathData="M16,3.25C16.65,2.49 17.66,2 18.7,2C20.55,2 22,3.45 22,5.3c0,2.27 -2.91,4.9 -6,7.7c-3.09,-2.81 -6,-5.44 -6,-7.7C10,3.45 11.45,2 13.3,2C14.34,2 15.35,2.49 16,3.25z"/>
+    <path android:fillColor="@android:color/white" android:pathData="M20,17h-7l-2.09,-0.73l0.33,-0.94L13,16h2.82c0.65,0 1.18,-0.53 1.18,-1.18v0c0,-0.49 -0.31,-0.93 -0.77,-1.11L8.97,11H7v9.02L14,22l8.01,-3v0C22,17.9 21.11,17 20,17z"/>
+</vector>
diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml
--- a/app/src/main/res/layout/activity_about.xml
+++ b/app/src/main/res/layout/activity_about.xml
@@ -6,23 +6,168 @@
         android:gravity="center">
     <!-- The ActionBar displayed at the top -->
 
-    <include
+   <!-- <include
             layout="@layout/default_toobar"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"/>
+            -->
+    <androidx.core.widget.NestedScrollView
+            android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="0.9"
+            android:scrollbars="vertical"
+    >
+        <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="wrap_content"
+        android:paddingTop="10dp">
+            <TextView
+                    android:id="@+id/topTextView"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="5dip"
+                    android:layout_marginLeft="@dimen/activity_horizontal_margin"
+                    android:layout_marginRight="@dimen/activity_horizontal_margin"
+                    android:textAppearance="?android:attr/textAppearanceMedium"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintBottom_toTopOf="@id/openTutorialButton"
+                    android:autoLink="web"
+                    android:fontFamily="@font/nevermind_compact"
+                    android:textColor="@color/grey_700"
+            />
+            <com.google.android.material.button.MaterialButton
+                    style="@style/Widget.MaterialComponents.Button.Icon"
+                    android:id="@+id/openTutorialButton"
+                    android:paddingTop="5dp"
+                    android:paddingBottom="5dp"
+                    app:icon="@drawable/cog_8_question_transp"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintTop_toBottomOf="@id/topTextView"
+                    app:iconGravity="start"
+                    android:text="@string/show_introduction"
+                    android:fontFamily="@font/pitagon_semibold"
+            />
+            <TextView
+                    android:id="@+id/telegramTextView"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="5dip"
+                    android:layout_marginLeft="@dimen/activity_horizontal_margin"
+                    android:layout_marginRight="@dimen/activity_horizontal_margin"
+                    android:textAppearance="?android:attr/textAppearanceMedium"
+                    app:layout_constraintTop_toBottomOf="@id/openTutorialButton"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    android:autoLink="web"
+                    android:fontFamily="@font/nevermind_compact"
+                    android:textColor="@color/grey_700"
+            />
+            <com.google.android.material.button.MaterialButton
+                    style="@style/Widget.MaterialComponents.Button.Icon"
+                    android:id="@+id/openTelegramButton"
+                    android:paddingBottom="8dp"
+                    android:paddingTop="8dp"
+                    app:icon="@drawable/telegram_logo_white"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintTop_toBottomOf="@id/telegramTextView"
+                    app:iconGravity="start"
+                    android:text="@string/open_telegram"
+                    android:fontFamily="@font/pitagon_semibold"
+
+            />
+            <TextView
+                    android:id="@+id/howDoesItWorkTextView"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="5dip"
+                    android:layout_marginBottom="5dip"
+                    android:layout_marginLeft="@dimen/activity_horizontal_margin"
+                    android:layout_marginRight="@dimen/activity_horizontal_margin"
+                    android:textAppearance="?android:attr/textAppearanceMedium"
+                    app:layout_constraintTop_toBottomOf="@id/openTelegramButton"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    android:autoLink="web"
+                    android:fontFamily="@font/nevermind_compact"
+                    android:textColor="@color/grey_700"
+            />
+
+            <com.google.android.material.button.MaterialButton
+                    style="@style/Widget.MaterialComponents.Button.Icon"
+                    android:id="@+id/openContributeButton"
+                    android:paddingTop="8dp"
+                    android:paddingBottom="8dp"
+                    app:icon="@drawable/journals"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintTop_toBottomOf="@id/howDoesItWorkTextView"
+                    app:iconGravity="start"
+                    android:text="@string/action_wiki"
+                    android:fontFamily="@font/pitagon_semibold"
+
+            />
+            <com.google.android.material.button.MaterialButton
+                    style="@style/Widget.MaterialComponents.Button.Icon"
+                    android:id="@+id/openSourceButton"
+                    android:paddingTop="8dp"
+                    android:paddingBottom="8dp"
+                    app:icon="@drawable/file_earmark_code_fill"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintTop_toBottomOf="@id/openContributeButton"
+                    app:iconGravity="start"
+                    android:text="@string/action_source"
+                    android:fontFamily="@font/pitagon_semibold"
+
+            />
+            <TextView
+                android:id="@+id/bottomAboutTextView"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="5dip"
+                android:layout_marginLeft="@dimen/activity_horizontal_margin"
+                android:layout_marginRight="@dimen/activity_horizontal_margin"
+                android:textAppearance="?android:attr/textAppearanceMedium"
+                app:layout_constraintTop_toBottomOf="@id/openSourceButton"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintBottom_toBottomOf="parent"
+                android:autoLink="web"
+                android:fontFamily="@font/nevermind_compact"
+                android:textColor="@color/grey_700"
+        /><!--android:layout_weight="0.85"-->
+
+            <!--<Button
+                    android:text="@string/open_telegram"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:padding="10dp"
+                    android:layout_below="@id/aboutTextView"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    android:id="@+id/openTelegramButton"
+                    android:drawableEnd="@drawable/telegram_logo_50"
+                    android:fontFamily="@font/pitagon_semibold"
+                    android:backgroundTint="@color/orange_500"
+                    android:textColor="@color/white"
+                    app:layout_constraintBottom_toTopOf="@id/newTelegramButton"
+            />
+            -->
+
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
+
+    </androidx.core.widget.NestedScrollView>
+
 
-    <TextView
-            android:id="@+id/aboutTextView"
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_marginTop="5dip"
-            android:layout_marginLeft="@dimen/activity_horizontal_margin"
-            android:layout_marginRight="@dimen/activity_horizontal_margin"
-            android:textAppearance="?android:attr/textAppearanceMedium"
-            android:layout_weight="0.85"
-            android:fontFamily="@font/nevermind_compact"
-            android:textColor="@color/grey_700"
-    />
     <View
             android:layout_width="match_parent"
             android:layout_height="1dp"
@@ -31,18 +176,12 @@
             android:layout_marginRight="8dp"
             android:layout_marginEnd="8dp"
             android:layout_marginTop="2dp"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
             android:id="@+id/theDivider"
-            android:background="@android:color/darker_gray"/>
-
-    <Button
-            android:text="@string/open_telegram"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:paddingLeft="10dp"
-            android:id="@+id/openTelegramButton"
-            android:drawableLeft = "@drawable/telegram_logo_50"
-            android:drawableStart="@drawable/telegram_logo_50"
-            android:fontFamily="@font/pitagon_semibold"/>
+            android:background="@android:color/darker_gray"
+            app:layout_constraintBottom_toTopOf="@id/versionTextView"
+    />
 
     <TextView
             android:text="@string/app_version"
@@ -50,11 +189,13 @@
             android:layout_height="wrap_content" android:id="@+id/versionTextView"
             android:textAppearance="@style/TextAppearance.AppCompat.Medium"
             android:gravity="center_horizontal|center_vertical"
-            android:layout_margin="10dp"
             android:layout_marginLeft="20dp"
-            android:layout_marginStart="20dp"
-
-            android:textColor="@color/black"/>
-
+            android:layout_marginStart="10dp"
+            android:layout_below="@id/openTelegramButton"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            android:textColor="@color/black" android:layout_marginTop="10dp" android:layout_marginEnd="10dp"
+            android:layout_marginBottom="10dp"/>
 
 </LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -57,21 +57,26 @@
         \n<b>Tocca a lungo</b> su <b>Fonte Orari</b> per cambiare sorgente degli orari di arrivo.
     </string>
     <string name="hint_button">OK!</string>
-    <string name="about_history">
+    <string name="about_history_top">
 <![CDATA[
-        <h1>Benvenuto!</h1>
+        <h1>Benvenuto/a/ə!</h1>
         
-        <p>Grazie per aver scelto BusTO, un\'app <b>indipendente</b> da GTT/5T, per spostarsi a Torino attraverso <b>software libero</b>:</p>
-		<br>
-		<p>Perché usare BusTO?</p>
-		<p>
-        - Non sei <b>monitorato</b><br>
-        - Non ci sono <b>pubblicità</b><br>
-        - La tua <b>privacy</b> è al sicuro<br>
-        - Inoltre l\'app è molto leggera!<br>
-        </p>
+        <p>Grazie per aver scelto BusTO, un\'app <b>open source</b> e <b>indipendente</b> da GTT/5T, per spostarsi a Torino attraverso <b>software libero</b>!</p>
+        <p>BusTO rispetta la tua <b>privacy</b> non raccogliendo nessun dato sull\'utilizzo, ed è <b>leggera</b> e senza <b>pubblicità</b>!</p>
         <br>
-        <h2>Come funziona?</h2>
+        <p>Qui puoi trovare più informazioni e link riguardo al progetto.</p>
+		<br>
+        <h2>Schermata iniziale</h2>
+        <p>Se vuoi rivedere la schermata iniziale, usa il pulsante qui sotto:</b>
+     ]]></string>
+    <string name="about_channel">
+        <![CDATA[
+        <h2>Notizie e aggiornamenti</h2>
+        <p>Nel canale Telegram puoi trovare informazioni sugli ultimi aggiornamenti dell\'app</p>
+        ]]></string>
+    <string name="about_how">
+        <![CDATA[
+        <h2>Ma come funziona?</h2>
         <p>Quest\'app ottiene i passaggi dei bus, le fermate e altre informazioni utili unendo dati forniti dal sito <b>www.gtt.to.it</b>, <i>www.5t.torino.it</i>, <b>muoversiatorino.it</b> "per uso personale" e altre fonti Open Data (aperto.comune.torino.it).</p>
         <br>
 		<p>Ingredienti:<br>
@@ -83,13 +88,19 @@
 		- <b>Valerio Bozzolan</b> attuale manutentore.<br>
 		- <b>Marco Gagino</b> apprezzato ex collaboratore, ideatore icona e grafica.<br>
 		- <b>JSoup</b> libreria per "<i>web scaping</i>".<br>
-		- <b>Google</b> icone e libreria di supporto per il Material Design.<br>
+		- <b>Google</b> icone e librerie di supporto e design.<br>
+		- Altre icone da <b>Bootstrap</b>, <b>Feather</b> e <b>Hero Icons</b><br>
 		- Tutti i contributori e i beta tester!
 		</p>
         <br>
+		Se vuoi avere più informazioni tecniche e contribuire allo sviluppo, usa i pulsanti qui sotto!</b>
+
+         ]]></string>
+    <string name="about_history_bottom">
+        <![CDATA[
 		<h2>Licenze</h2>
-		<p>L\'app e il relativo codice sorgente sono distribuiti sotto la licenza <i>GNU General Public License v3+</i>.
-		Ciò <b>significa</b> che puoi usare, studiare, migliorare e ricondividere quest\'app con <b>qualunque mezzo</b> e per <b>qualsiasi scopo</b>: a patto di mantenere sempre questi diritti a tua volta e di dare credito a Valerio Bozzolan.
+		<p>L\'app e il relativo codice sorgente sono distribuiti sotto la licenza <i>GNU General Public License v3</i> (https://www.gnu.org/licenses/gpl-3.0.html).
+		Ciò <b>significa</b> che puoi usare, studiare, migliorare e ricondividere quest\'app con <b>qualunque mezzo</b> e per <b>qualsiasi scopo</b>: a patto di mantenere sempre questi diritti a tua volta e di dare credito a Valerio Bozzolan e agli altri autori del codice dell\'app.
 		</p>
 
 		<br>
@@ -143,7 +154,9 @@
     <!--
     Mixed button strings
     !-->
-    <string name="open_telegram"> Canale Telegram</string>
+    <string name="open_telegram">Canale telegram</string>
+    <string name="show_introduction">Mostra introduzione</string>
+
 
     <!--
     Map view buttons strings
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -17,11 +17,14 @@
 
     <color name="blue_extra">#2F59CC</color>
     <color name="brown_mattone">#CC5E43</color>
-    <color name="green_dark">#548017</color>
+    <color name="olivegreen">#548017</color>
+    <color name="forest_green">#228b22</color>
+    <color name="green_extra">#0ABA34</color>
 
     <color name="teal_500">#009688</color>
     <color name="teal_300">#4DB6AC</color>
     <color name="teal_200">#80cbc4</color>
+    <color name="teal_900">#008175</color>
     <color name="grey_100">#F5F5F5</color>
     <color name="grey_200">#dddddd</color>
     <color name="grey_050">#f8f8f8</color>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -76,11 +76,11 @@
     <string name="hint_button">GOT IT!</string>
     <string name="arrival_times">Arrival times</string>
     <string name="no_passages_title">No arrivals found for lines:</string>
-    <string name="about_history">
+    <string name="about_history_top">
         <![CDATA[
         <h1>Welcome!</h1>
 
-        <p>Thanks for using BusTO, a "politically" <b>independent</b> app useful to move around Torino using a <b>Free/Libre software</b>.</p>
+        <p>Thanks for using BusTO, an <b>open source</b> and <b>independent</b> app useful to move around Torino using a <b>Free/Libre software</b>.</p>
         <br>
         <p>Why use this app?</p>
 		<p>
@@ -90,7 +90,17 @@
         - Moreover, it\'s lightweight!<br>
         </p>
         <br>
-        <h2>How does it work?</h2>
+        <h2>Introductory tutorial</h2>
+        <p>If you want to see the introduction again, use the button below:</p>
+        ]]></string>
+    <string name="about_channel">
+        <![CDATA[
+    <h2>News and Updates</h2>
+    <p>On the Telegram channel, you can find information about the latest app updates</p>
+    ]]></string>
+    <string name="about_how">
+        <![CDATA[
+    <h2>How does it work?</h2>
         <p>This app is able to do all the amazing things it does by pulling data from <b>www.gtt.to.it</b>, <b>www.5t.torino.it</b> or <b>muoversiatorino.it</b> "for personal use", along with open data from the AperTO (aperto.comune.torino.it) website.</p>
         <br>
 		<p>The work of several people is behind this app, in particular:<br>
@@ -103,11 +113,15 @@
 		- <b>Marco Gagino</b>, contributor and first icon creator.<br>
 		- <b>JSoup</b> web scraper library.<br>
 		- <b>makovkastar</b> floating buttons.<br>
-		- <b>Google</b> Material Design icons and Volley framework.<br>
-		- <b>Android</b> app components.<br>
+        - <b>Google</b> for icons and support and design libraries.<br>
+        - Other icons from <b>Bootstrap</b>, <b>Feather</b>, and <b>Hero Icons</b>.<br>
 		- All the contributors, and the beta testers, too!
 		</p>
 		<br>
+		 If you want more technical information or to contribute to development, use the buttons below!</b>
+    ]]></string>
+    <string name="about_history_bottom">
+        <![CDATA[
 		<h2>Licenses</h2>
 		<p>The app and the related source code are released by Valerio Bozzolan and the other authors under the terms of the <i>GNU General Public License v3+</i>).
 		So everyone is allowed to use, to study, to improve and to share this app by <b>any kind of means</b> and for <b>any purpose</b>: under the conditions of maintaining this rights and of attributing the original work to Valerio Bozzolan.</p>
@@ -165,6 +179,7 @@
     Mixed button strings
     !-->
     <string name="open_telegram">Join Telegram channel</string>
+    <string name="show_introduction">Show introduction</string>
     <!--
    Map view buttons strings
    !-->
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -20,6 +20,7 @@
         <item name="colorPrimary">@color/orange_500</item>
         <item name="colorPrimaryDark">@color/orange_700</item>
         <item name="colorAccent">@color/teal_500</item>
+        <item name="colorOnPrimary">@color/white</item>
         <!-- For the preferences Fragment -->
         <item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
 
diff --git a/app/src/main/res/values/theme.xml b/app/src/main/res/values/theme.xml
--- a/app/src/main/res/values/theme.xml
+++ b/app/src/main/res/values/theme.xml
@@ -7,10 +7,12 @@
         <item name="colorAccent">@color/teal_500</item>
     </style>
 
-    <style name="AboutTheme" parent="AppTheme.NoActionBar">
-        <item name="colorPrimary">@color/teal_300</item>
-        <item name="colorPrimaryDark">@color/teal_500</item>
+    <style name="AboutTheme" parent="Theme.MaterialComponents.Light.DarkActionBar">
+        <item name="colorPrimary">@color/teal_500</item>
+        <item name="colorPrimaryDark">@color/teal_900</item>
         <item name="colorAccent">@color/blue_700</item>
+        <item name="colorOnPrimary">@color/white</item>
+
     </style>
 
     <style name="MapTheme" parent="Theme.AppCompat.Light.DarkActionBar">