diff --git a/README.md b/README.md
index 0e8f9ce5d4ef8916a5da06c9b0ff5061816f070b..fa6a0d6c39886001bd1f8a8aa47bfe944ce92df0 100644
--- a/README.md
+++ b/README.md
@@ -1,17 +1,27 @@
 # GitLab guide
 
-This guide aims at explaining what Git and GitLab are and how they can be used. It is targeted towards new members but is an helpfull reference for everyone. However this is not a guide on how to use Git.
+> If you need a quick recap on how to setup credentials jump [here](#authentication)
+
+This guide aims at explaining what Git and GitLab are and how they can be used. It is targeted towards new members but is an helpful reference for everyone. However this is not a guide on how to use Git.
 
 ## What are Git and GitLab
 
-Before we dive into how to use the tools, first we need to understand a few things. We often come across these terms like Git, Gitlab and GitHub. Let's see definiton of all these:
+Before we dive into how to use the tools, first we need to understand a few things. We often come across these terms like Git, Gitlab and GitHub. Let's see what they are:
 
-- **Git**: It is a versioning system that lets you track changes on files. This is the core program that manages the repositories, all of the commits, push or pull operations;
-- **GitLab and GitHub**: Are services that provides access to remote Git repositories. In addition to hosting your code, the services provide additional features designed to help manage the development lifecycle. These additional features include managing the sharing of code between different people, bug tracking, wiki space and other tools.
+- **Git**: It is a software application that lets you track changes on files, thats it! Git can be used standalone to organize your code locally. It is the application that manages commits, branches, ecc...
+- **GitLab and GitHub**: Are services that allows you to save data on the cloud, like Google Driver but custom tailored for Git. Basically they offer storage space where you can copy your local repository. In addition to hosting your code, these services provide additional features such as managing the sharing of code between different people, issues tracking, wiki and other tools.
+  - **GitHub** is a publicly available, free service which requires all code (unless you have a paid account) be made open. Anyone can see code you push to GitHub and offer suggestions for improvement;
+  - **GitLab** is an open source GitHub like software. It can be used as a service [gitlab.com](https://gitlab.com), just like GitHub, or it can be self hosted, meaning that you can install it on your private server. Skyward hosts its own instance of GitLab, which you can find at [git.skywarder.eu](https://git.skywarder.eu).
 
-GitHub is a publicly available, free service which requires all code (unless you have a paid account) be made open. Anyone can see code you push to GitHub and offer suggestions for improvement.
+> ⚠️ Keep in ming that [gitlab.com](https://gitlab.com) and [git.skywarder.eu](https://git.skywarder.eu) are two different services. All of Skyward's repositories are on [git.skywarder.eu](https://git.skywarder.eu)!
 
-GitLab is a GitHub like service that organizations can use to provide internal management of git repositories. It is a self hosted Git repository management system that keeps the user code private and can be easily customized to fit an organization needs.
+Also you usually hear terms like directory, repository, push, pull. Here is a quick explanation of the common ones:
+- A **directory** is just a folder;
+- **Repository** usually refers to a git project either on a service like GitLab or just on your local computer. For example this tutorial is inside of the *Guides* repository which is hosted [here](https://git.skywarder.eu/skyward/guides);
+- **Remote repository** refers specifically to the repository hosted online;
+- **Pull** is the act of downloading the most recent data from the remote repository;
+- **Push** is used when you upload your local changes to the remote repository;
+- **Commits** are snapshots of your project in a specific point in time. They show you the changes made since the last commit.
 
 ## Skyward's GitLab
 
@@ -19,7 +29,8 @@ The GitLab instance hosted by Skyward is available at [git.skywarder.eu](https:/
 
 The repositories are organized in groups and subgroups. [Here](https://git.skywarder.eu/explore/groups) you can see the complete list of groups. The top levels groups are those of the departments and directly under are those of the IPTs.
 
-The users can have different levels of permission over groups and repositories:
+The users can have different levels of permissions over groups and repositories:
+
 - **Guest**: Only read access;
 - **Developer**: Read and write access to repositories. This allows to push commits;
 - **Maintainer**: Can manage users and create repositories;
@@ -27,25 +38,61 @@ The users can have different levels of permission over groups and repositories:
 
 ## New users
 
-If you have never logged in into Skyward's GitLab, you just need to use your @skywarder.eu Google account in [the login page](https://git.skywarder.eu/users/sign_in). After your first login you will have by default read access to all repositories, you can find the list [here](https://git.skywarder.eu/explore). If you need write access to some repositories and you do not have a Developer role yet, just ask your IPTL to have your priviledges raised.
+If you have never logged in into Skyward's GitLab, you just need to use your @skywarder.eu Google account in [the login page](https://git.skywarder.eu/users/sign_in) (**make sure to use the "Sign in with Google" button at the bottom**). After your first login you will have by default read access to almost all ot the repositories, you can see them [here](https://git.skywarder.eu/explore). If you need write access to some repositories and you do not have a Developer role yet, just ask your IPTL or CD to have your privileges raised.
 
 ## How to use GitLab
 
-This section describes the tools you can use to clone and push commits to GitLab's repositories.
+To access remote repositories from your local computer you two things:
+- Identify your computer through a set of credentials
+- Use a client software
+
+### Authentication
+
+There are two authentication methods available for GitLab: **https** and **ssh**
+
+#### HTTPS
+
+To authenticate through **https** your need:
+- Your username (e.g. `davide.evangelista`)
+- A token as password
+
+You can create a token [here](https://git.skywarder.eu/-/profile/personal_access_tokens), remember to select the "api" scope.
+
+Keep your token stored somewhere and remember to use it as password when you clone from or push to a remote repository. Usually your client will ask for a password only one single time.
+
+Https is preferred on Windows since it works out of the box.
+
+#### SSH
+
+To authentication through **ssh** you need:
+1. To generate a key: `ssh-keygen -t ed25519`
+2. Add it to your account [here](https://git.skywarder.eu/-/profile/keys)
+
+### Clients
+
+A client software allows to connect to the remote server and push or pull data. Such client can simply be the git command in the terminal.
+
+Usually it is easier to use a graphical client such as GitHub Desktop, VS Code or GitKraken.
+
+If you are on Linux or MacOS you can easily switch from one tool to another without worrying about your credentials since they are handled from the operating system.
+
+On Windows your experience may vary depending on what software you installed.
+
+The easiest way to get started is simply to use GitHub Desktop (see below).
 
-### GitHub Desktop
+#### GitHub Desktop
 
 The easiest tool you can use is GitHub Desktop, which you can download [here](https://desktop.github.com). Although it has "Github" in its name, this software works just fine with GitLab too.
 
 To clone a repository you need to select "Clone a Repository from the Internet..." and enter the https url of your repository.
 
-GitHub Desktop                                          |  GitLab
-:------------------------------------------------------:|:---------------------------------:
-![Alt](images/GitHub%20Desktop%20clone%20from%20the%20internet.png)  |  ![](images/GitLab%20https%20url.png)
+|                           GitHub Desktop                            |                GitLab                |
+| :-----------------------------------------------------------------: | :----------------------------------: |
+| ![Alt](images/GitHub%20Desktop%20clone%20from%20the%20internet.png) | ![](images/GitLab%20https%20url.png) |
 
-The first time you clone a repository it will ask for a username and a password. As username put your name and for the password you will need to generate a new access token (this will work as a password). To do this you need to go in [the access tokens menu](https://git.skywarder.eu/-/profile/personal_access_tokens) of your profile setting, give it a name, selects `api` and click "Create personal access token". At this point the page will show you your new token. Be sure to copy it into GitHub Desktop before closing the page because you will not be able to see it again (you can alwais delete and create tokens).
+If your are cloning a private repository it will ask for a username and a password. Otherwise it will ask for them when you first try to push changes. As username put your username (e.g. `davide.evangelista`) and for the password you will need to generate a new access token (this will work as a password). To do this you need to go in [the access tokens menu](https://git.skywarder.eu/-/profile/personal_access_tokens) of your profile setting, give it a name, selects `api` and click "Create personal access token". At this point the page will show you your new token. Be sure to copy it into GitHub Desktop before closing the page because you will not be able to see it again (you can always delete and create tokens).
 
-GitHub Desktop                                       |  GitLab
-:---------------------------------------------------:|:-------------------------------------------:
-![](images/GitHub%20Desktop%20clone%20a%20repository.png).   |  ![](images/GitLab%20create%20access%20token.png)
-![](images/GitHub%20Desktop%20authentication%20failed.png) | ![](images/GitLab%20create%20access%20token%202.png)
+|                       GitHub Desktop                       |                        GitLab                        |
+| :--------------------------------------------------------: | :--------------------------------------------------: |
+| ![](images/GitHub%20Desktop%20clone%20a%20repository.png). |   ![](images/GitLab%20create%20access%20token.png)   |
+| ![](images/GitHub%20Desktop%20authentication%20failed.png) | ![](images/GitLab%20create%20access%20token%202.png) |