diff --git a/1-gui/README.md b/1-gui/README.md
index ec02f529b8145cc5fda7c943af6ad6ba60e13aea..703d57bd4bdec49b7ef8e77d9e219fb70b110141 100644
--- a/1-gui/README.md
+++ b/1-gui/README.md
@@ -1,10 +1,214 @@
 # Using OpenStack's Web Interface
 
+This introduction is intended for users that want to start a few virtual machine instances in the cloud or they want to adjust their project more carefully to their needs through the Graphical Interface of OpenStack.
+
+The process is practically very similar to creating a virtual machine instance in [Quickstart](https://cloud.gitlab-pages.ics.muni.cz/documentation/0-quickstart/), you need to
+* sign in via the MetaCentrum cloud web interface,
+* create an *ssh* key pair or use an existing key pair,
+* create virtual machine instances,
+* create virtual private network,
+* create virtual router,
+* join virtual private network to internet through router interfaces,
+* set up or update a security group,
+* start a virtual machine instance,
+* allocate floating IP address (add or remove IP address to/from virtual machine instance)
+* log in to the running instance using *ssh* (secure shell),
+* (optional) create new volume (add/remove volume to/from virtual machine instance).
+
+## Sign In
+
+The web interface is available at [https://cloud.muni.cz](https://cloud.muni.cz).
+
+To sign in,
+* select `ENIFRA CESNET`,
+* click on `Sign In`,
+{% reveal text="Show Screenshot" %}
+  ![](/1-gui/sign_in1.png)
+{% endreveal %}
+* select your institution from the drop-down list (use the search box at the top as a filter),
+{% reveal text="Show Screenshot" %}
+  ![](/1-gui/sign_in2.png)
+{% endreveal %}
+* provide your institution-specific sign-in credentials,
+{% reveal text="Show Screenshot" %}
+  ![](/1-gui/sign_in3.png)
+{% endreveal %}
+* wait to be redirected back to our web interface.
+
+## Create Key Pair
+
+All virtual machine instances running in the cloud have to be accessed remotely. The most common way of accessing a virtual machine instance remotely is the secure shell - *ssh*. Using *ssh* requires a pair of cryptographic keys.
+
+1. To create a new *ssh* key pair, go to **Project > Compute > Key Pairs** and click the button "Create Key Pair"
+{% reveal text="Show Screenshot" %}
+  ![](/0-quickstart/CreateKeyPair1.png)
+{% endreveal %}
+
+2. Name your new key and click on "Create Key Pair" again. Avoid using special characters, if possible.
+{% reveal text="Show Screenshot" %}
+  ![](/0-quickstart/CreateKeyPair2.png)
+{% endreveal %}
+
+3. You can see your newly created key pair and its fingerprint. We recommend you store the key in a safe location and back it up in case you accidentally delete it.
+{% reveal text="Show Screenshot" %}
+  ![](/0-quickstart/CreateKeyPair3.png)
+{% endreveal %}
+
+
+
 ## Network
-> TODO
 
-## Compute
-> TODO
+1. In **Project > Network > Network Topology** you can see the actual status of your networks. In the beginning there are only public networks visible, because you haven't created yet your network. You can do it by clicking on the button "Create Network". This network will serve as connection of your instances.
+{% reveal text="Show Screenshot" %}
+  ![](/1-gui/network1.png)
+{% endreveal %}
+
+2. Name the network, which will join your instances, and click "Next".
+{% reveal text="Show Screenshot" %}
+  ![](/1-gui/network2.png)
+{% endreveal %}
+
+3. In Subnet tab name your subnet and choose a range of valid IP addresses (e.g. 10.1.1.0/24 or whatever you wanti) in CIDR format. The gateway will be automatically added as default (in our example it would be 10.1.1.1). Click "Next".
+{% reveal text="Show Screenshot" %}
+  ![](/1-gui/network3.png)
+{% endreveal %}
+
+4. In Subnet Details tab in Allocation Pools you can choose what ranges will be served by DHCP server (what ranges will be automatically assigned if a machine will use DHCP server for joining a subnet). Use format in description (e.g. for range between 10.1.1.220 and 10.1.1.249 write: 10.1.1.220,10.1.1.249 - so limits separated by comma). You can leave default DNS servers. Click "Create".
+{% reveal text="Show Screenshot" %}
+  ![](/1-gui/network4.png)
+{% endreveal %}
+
+5. Now in **Project > Network > Network Topology** you should see the new network created by you.
+{% reveal text="Show Screenshot" %}
+  ![](/1-gui/network5.png)
+{% endreveal %}
+
+   Now you can continue by creating router.
+
+## Create router
+
+1. In **Project > Network > Network Topology** or in **Project > Network > Routers** push the button "Create Router". This router will serve as connection between your subnet and public network.
+{% reveal text="Show Screenshot" %}
+  ![](/1-gui/router1.png)
+{% endreveal %}
+
+2. Add router name, select External Network (public network, through which you will be connected to internet) and click "Create Router". The router should be created and joined to public network.
+{% reveal text="Show Screenshot" %}
+  ![](/1-gui/router2.png)
+{% endreveal %}
+
+3. In **Project > Network > Network Topology** the router should be now visible.
+{% reveal text="Show Screenshot" %}
+  ![](/1-gui/router3.png)
+{% endreveal %}
+
+4. Now you can go to **Project > Network > Network Topology** and create interface for connection to your subnet. Pointing over the router icon you will get to information window, where is a button "Add Interface". Click on it.
+{% reveal text="Show Screenshot" %}
+  ![](/1-gui/router4.png)
+{% endreveal %}
+
+5. In opened pop-up window choose the available subnet. Click "Submit".
+{% reveal text="Show Screenshot" %}
+  ![](/1-gui/router5.png)
+{% endreveal %}
+
+6. In **Project > Network > Network Topology** you can now see your network joined to public network.
+{% reveal text="Show Screenshot" %}
+  ![](/1-gui/router6.png)
+{% endreveal %}
+
+## Create virtual machine instances
+
+The creation of virtual machine instances is very straight-forward:
+1. In **Compute > Instances** push the button "Launch Instance"
+{% reveal text="Show Screenshot" %}
+![](/1-gui/instance0.png)
+{% endreveal %}
+
+2. Choose Instance Name, (optionally) Description, Availability Zone and Count of instances, how many VMs you want to create. If you are creating more instances, the number in format '-X' will be added automatically to the Instance Name for each instance. 
+{% reveal text="Show Screenshot" %}
+![](/1-gui/instance1.png)
+{% endreveal %}
+
+Then click on Next.
+
+3. Choose the source of booting (you can boot your Instances from Image or a snapshot), Volume Size and from Available choose the desired image to boot from. 
+
+   According to the purpose of your project you can change these default settings Create New Volume and Delete Volume on Instance Delete (default "No"), if you want to use created volume and if you want to have not persistant volume.
+
+{% reveal text="Show Screenshot" %}
+![](/1-gui/instance2.png)
+{% endreveal %}
+
+4. Pick the flavour - size of Instances created: VCPUs, RAM, Total Disk (Root). There are a few possibilities to choose from. You can add [additional disk]() later.
+
+{% reveal text="Show Screenshot" %}
+![](/1-gui/instance3.png)
+{% endreveal %}
+
+5. Next you check if your Instances were added to network created earlier
+{% reveal text="Show Screenshot" %}
+![](/1-gui/instance4.png)
+{% endreveal %}
+
+You can jumped through Network Ports and Security Groups to Key Pair.
+
+6. (optional) Security Groups tab you can see to what security group instances will be added. Usually you would like to stick with default option. Click on "Next".
+{% reveal text="Show Screenshot" %}
+![](/1-gui/instance5.png)
+{% endreveal %}
+
+7. In Key Pair you need to add your earlier created public key. It will be added to authorized keys on instances and will allow you to ssh access to them from terminal/Putty or whatever you are using as ssh tool for connecting.
+{% reveal text="Show Screenshot" %}
+![](/1-gui/instance6.png)
+{% endreveal %}
+
+If you haven't created key pair yet, you can do it now or you can import existing public key from file on your computer.
+
+8. (optional) You can now go to Metadata (the left bottom tab) and choose the packages of software, which you want to have installed on your instances.
+{% reveal text="Show Screenshot" %}
+![](/1-gui/instance7.png)
+{% endreveal %}
+
+9. Then you can click on Launch Instance. After a few minutes they will be ready for using.
+{% reveal text="Show Screenshot" %}
+![](/1-gui/instance8.png)
+{% endreveal %}
+
+## Allocate and associate floating IP (optional)
+
+Sometimes we want to have an instance accessible from public network. In OpenStack project you can do it easilly from the menu for each instance in **Project > Compute > Instances** or you can manage them more conscious way with at first allocating and then associating of IP address with instance. (You can of course later disassociate IP address from instance or disallocate IP address from your pool, when you don't need it, or associate with another instance and so on.)
+
+1. Go to **Project > Network > Floating IPs** and click on "Allocate IP to Project"
+{% reveal text="Show Screenshot" %}
+![](/1-gui/allocate_IP0.png)
+{% endreveal %}
+
+2. In pop-up window choose from which public network (Pool) do you want to allocate IP address for your instance eventually what will be the name of IP address. You have to choose the public network, to which your network is connected to, otherwise it won't work. Click on "Allocate".
+{% reveal text="Show Screenshot" %}
+![](/1-gui/allocate_IP1.png)
+{% endreveal %}
+
+3. Now you should have IP address to your disposal. 
+{% reveal text="Show Screenshot" %}
+![](/1-gui/allocate_IP2.png)
+{% endreveal %}
+
+4. The next step is associate the free IP address to an instance. Click on "Associate".
+{% reveal text="Show Screenshot" %}
+![](/1-gui/allocate_IP2a.png)
+{% endreveal %}
+
+5. Select IP address and Port to be associated and click on "Associate".
+{% reveal text="show screenshot" %}
+![](/1-gui/allocate_IP3.png)
+{% endreveal %}
+
+6. In **Project > Compute > Instances** you should be able to see instance with the associated public IP address.
+{% reveal text="show screenshot" %}
+![](/1-gui/allocate_IP4.png)
+{% endreveal %}
 
+## 
 ## Volume
 > TODO
diff --git a/1-gui/README2.md b/1-gui/README2.md
new file mode 100644
index 0000000000000000000000000000000000000000..3d9676f02b6f1e243bf1377e79ed9fe07b7e489b
--- /dev/null
+++ b/1-gui/README2.md
@@ -0,0 +1,92 @@
+# Quickstart
+
+Quickstart is intended for users that want to spin up a virtual machine instance in the cloud as quickly as possible.
+
+To create a virtual machine instance, you need to
+* sign in via the MetaCentrum cloud web interface,
+* create an *ssh* key pair or use an existing key pair,
+* set up or update a security group,
+* start a virtual machine instance,
+* log in to the running instance using *ssh* (secure shell).
+
+## Sign In
+The web interface is available at [https://cloud.muni.cz](https://cloud.muni.cz).
+
+To sign in,
+* select `ENIFRA CESNET`,
+* click on `Sign In`,
+* select your institution from the drop-down list (use the search box at the top as a filter),
+* provide your institution-specific sign-in credentials,
+* wait to be redirected back to our web interface.
+
+## Create Key Pair
+All virtual machine instances running in the cloud have to be accessed remotely. The most common way of accessing a virtual machine instance remotely is the secure shell - *ssh*. Using *ssh* requires a pair of cryptographic keys.
+
+1. To create a new *ssh* key pair, go to **Project > Compute > Key Pairs** and click the button "Create Key Pair"
+{% reveal text="Show Screenshot" %}
+  ![](/0-quickstart/CreateKeyPair1.png)
+{% endreveal %}
+2. Name your new key and click on "Create Key Pair" again. Avoid using special characters, if possible.
+{% reveal text="Show Screenshot" %}
+  ![](/0-quickstart/CreateKeyPair2.png)
+{% endreveal %}
+3. You can see your newly created key pair and its fingerprint. We recommend you store the key in a safe location and back it up in case you accidentally delete it.
+{% reveal text="Show Screenshot" %}
+  ![](/0-quickstart/CreateKeyPair3.png)
+{% endreveal %}
+
+## Update Security Group
+In OpenStack, all incoming traffic from external networks to virtual machine instances is blocked by default. You need to explicitly allow access to individual virtual machine instances and services via a security group.
+
+You need to add two new rules to be able to connect to your new instance (or any instance using the given security group). This is similar to setting up firewall rules on your router or server. If set up correctly, you will be able to access your virtual machine via *ssh* from your local terminal.
+
+1. Go to **Project >  Networks > Security Groups**. Here you can see the default security group. You can either edit the default group by clicking on "Manage Rules" or create a new one. The simplest way is to edit the default group.
+{% reveal text="Show Screenshot" %}
+  ![](/0-quickstart/SecurityGroups1.png)
+{% endreveal %}
+2. Click on "Add rule", choose "SSH" and leave the remaining fields unchanged.
+{% reveal text="Show Screenshot" %}
+  ![](/0-quickstart/SecurityGroups2.png)
+{% endreveal %}
+3. Click on "Add rule", choose "ALL ICMP" and leave the remaining fields unchanged.
+{% reveal text="Show Screenshot" %}
+  ![](/0-quickstart/SecurityGroups3.png)
+{% endreveal %}
+
+## Start Instance
+1. Navigate to **Quickstart** and click on "Launch Instance".
+{% reveal text="Show Screenshot" %}
+  ![](/0-quickstart/qs1.png)
+{% endreveal %}
+2. Choose a name for your virtual machine.
+{% reveal text="Show Screenshot" %}
+  ![](/0-quickstart/qs3-1.png)
+{% endreveal %}
+3. Choose an Operating System to run on your instance, also known as an **Image**.
+{% reveal text="Show Screenshot" %}
+  ![](/0-quickstart/qs3-2.png)
+{% endreveal %}
+4. Choose a suitable size of the new instance, also known as a **Flavor**.
+{% reveal text="Show Screenshot" %}
+  ![](/0-quickstart/qs3-3.png)
+{% endreveal %}
+5. Select the previously created *ssh* key pair by name.
+{% reveal text="Show Screenshot" %}
+  ![](/0-quickstart/qs3-4.png)
+{% endreveal %}
+6. Click on "Launch instance" and wait until **Quickstart** provides you with information about the running virtual machine instance.
+{% reveal text="Show Screenshot" %}
+  ![](/0-quickstart/qs4.png)
+{% endreveal %}
+7. *[Optionally]* Add a persistent volume to the running virtual machine instance.
+{% reveal text="Show Screenshot" %}
+  ![](/0-quickstart/qs5.png)
+{% endreveal %}
+8. Close the dialog with "Finish" to return to the list of active instances.
+{% reveal text="Show Screenshot" %}
+  ![](/0-quickstart/qs6.png)
+{% endreveal %}
+
+## Log In
+Follow instructions provided by **Quickstart** and log in remotely:
+> ssh -i ${PATH_TO_SSH_KEY_FILE} ${USER}@${IP_ADDRESS}
diff --git a/1-gui/allocate_IP0.png b/1-gui/allocate_IP0.png
new file mode 100644
index 0000000000000000000000000000000000000000..2bbad86a038f01efd15c8a20836a80034c19ba8b
Binary files /dev/null and b/1-gui/allocate_IP0.png differ
diff --git a/1-gui/allocate_IP1.png b/1-gui/allocate_IP1.png
new file mode 100644
index 0000000000000000000000000000000000000000..2f80996783a344ae22893a0667168c37dbe8ac94
Binary files /dev/null and b/1-gui/allocate_IP1.png differ
diff --git a/1-gui/allocate_IP2.png b/1-gui/allocate_IP2.png
new file mode 100644
index 0000000000000000000000000000000000000000..c0b4ccc5b461f3c7dc87d14f1fdbabf09bb2ea3c
Binary files /dev/null and b/1-gui/allocate_IP2.png differ
diff --git a/1-gui/allocate_IP2a.png b/1-gui/allocate_IP2a.png
new file mode 100644
index 0000000000000000000000000000000000000000..92b18c2042e8bd3941674d4c0e8b72f427b95802
Binary files /dev/null and b/1-gui/allocate_IP2a.png differ
diff --git a/1-gui/allocate_IP3.png b/1-gui/allocate_IP3.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ad6a27abf20c8982ee756389a6365ccf3e29c4c
Binary files /dev/null and b/1-gui/allocate_IP3.png differ
diff --git a/1-gui/allocate_IP4.png b/1-gui/allocate_IP4.png
new file mode 100644
index 0000000000000000000000000000000000000000..e405eee69290f94c945a325ca6abad8578e3eeed
Binary files /dev/null and b/1-gui/allocate_IP4.png differ
diff --git a/1-gui/instance0.png b/1-gui/instance0.png
new file mode 100644
index 0000000000000000000000000000000000000000..a86fca71fd3645a9a64efa9b7d308756cf0fbce8
Binary files /dev/null and b/1-gui/instance0.png differ
diff --git a/1-gui/instance1.png b/1-gui/instance1.png
new file mode 100644
index 0000000000000000000000000000000000000000..7513e4d5d509ebb7cb31d95fe2953f7ee622964d
Binary files /dev/null and b/1-gui/instance1.png differ
diff --git a/1-gui/instance2.png b/1-gui/instance2.png
new file mode 100644
index 0000000000000000000000000000000000000000..eab7b4dafc6c7b7275be9dfc9bfed5e090a34c9e
Binary files /dev/null and b/1-gui/instance2.png differ
diff --git a/1-gui/instance3.png b/1-gui/instance3.png
new file mode 100644
index 0000000000000000000000000000000000000000..2508f20d6d9c57bb31aa3fdcd458d69d05c80fd1
Binary files /dev/null and b/1-gui/instance3.png differ
diff --git a/1-gui/instance4.png b/1-gui/instance4.png
new file mode 100644
index 0000000000000000000000000000000000000000..e08791176c3e9c472d65cf14aae10a3233da946b
Binary files /dev/null and b/1-gui/instance4.png differ
diff --git a/1-gui/instance5.png b/1-gui/instance5.png
new file mode 100644
index 0000000000000000000000000000000000000000..9dea9cd8b0708fa0e7fa79d84f4c85d25a41e3f8
Binary files /dev/null and b/1-gui/instance5.png differ
diff --git a/1-gui/instance6.png b/1-gui/instance6.png
new file mode 100644
index 0000000000000000000000000000000000000000..3e3b11595e45601c48f75ebcec74895dc3350fb7
Binary files /dev/null and b/1-gui/instance6.png differ
diff --git a/1-gui/instance7.png b/1-gui/instance7.png
new file mode 100644
index 0000000000000000000000000000000000000000..bdce0a7eaedcdd488bf1f86322b45c1e654eb6e3
Binary files /dev/null and b/1-gui/instance7.png differ
diff --git a/1-gui/instance8.png b/1-gui/instance8.png
new file mode 100644
index 0000000000000000000000000000000000000000..c2b8e8485b69addd27a48db54e12eaccdd719d67
Binary files /dev/null and b/1-gui/instance8.png differ
diff --git a/1-gui/network1.png b/1-gui/network1.png
new file mode 100644
index 0000000000000000000000000000000000000000..3e3746b0d024a865390c3b5dd57791744ef20f3c
Binary files /dev/null and b/1-gui/network1.png differ
diff --git a/1-gui/network2.png b/1-gui/network2.png
new file mode 100644
index 0000000000000000000000000000000000000000..9c141096f39dd3049c736f939c07ce0efab7958c
Binary files /dev/null and b/1-gui/network2.png differ
diff --git a/1-gui/network3.png b/1-gui/network3.png
new file mode 100644
index 0000000000000000000000000000000000000000..a5ba9bca33be5534a45eb279cb22a641228dc1cf
Binary files /dev/null and b/1-gui/network3.png differ
diff --git a/1-gui/network4.png b/1-gui/network4.png
new file mode 100644
index 0000000000000000000000000000000000000000..292859a29c2407197ae6b3fd355b94427b813308
Binary files /dev/null and b/1-gui/network4.png differ
diff --git a/1-gui/network5.png b/1-gui/network5.png
new file mode 100644
index 0000000000000000000000000000000000000000..bdc13316b76dc5591571bc74e4a5caae1e1e4577
Binary files /dev/null and b/1-gui/network5.png differ
diff --git a/1-gui/router1.png b/1-gui/router1.png
new file mode 100644
index 0000000000000000000000000000000000000000..5b07a88a0818caae845ed8cd85c2dd15d27119e9
Binary files /dev/null and b/1-gui/router1.png differ
diff --git a/1-gui/router2.png b/1-gui/router2.png
new file mode 100644
index 0000000000000000000000000000000000000000..0691a18aa9109ecd28b628cd6b19e26d1120648c
Binary files /dev/null and b/1-gui/router2.png differ
diff --git a/1-gui/router3.png b/1-gui/router3.png
new file mode 100644
index 0000000000000000000000000000000000000000..82cfb96116acfbd311620e3957523dc411acd017
Binary files /dev/null and b/1-gui/router3.png differ
diff --git a/1-gui/router4.png b/1-gui/router4.png
new file mode 100644
index 0000000000000000000000000000000000000000..83b2ed24b3cfbd389d5da99bf7e9e0275d72b4f8
Binary files /dev/null and b/1-gui/router4.png differ
diff --git a/1-gui/router5.png b/1-gui/router5.png
new file mode 100644
index 0000000000000000000000000000000000000000..f0ffdcb25dc098decd4226d67c23fb508c56f6a9
Binary files /dev/null and b/1-gui/router5.png differ
diff --git a/1-gui/router6.png b/1-gui/router6.png
new file mode 100644
index 0000000000000000000000000000000000000000..3769848b15f6fdd10e47b01fb23695c5ff336bce
Binary files /dev/null and b/1-gui/router6.png differ
diff --git a/1-gui/sign_in1.png b/1-gui/sign_in1.png
new file mode 100644
index 0000000000000000000000000000000000000000..3199ebfeb211dd3ba1b5dbcdc8d493ba4e0aec29
Binary files /dev/null and b/1-gui/sign_in1.png differ
diff --git a/1-gui/sign_in2.png b/1-gui/sign_in2.png
new file mode 100644
index 0000000000000000000000000000000000000000..32604f46eafc4e3de26df5dae921166608aeb5cb
Binary files /dev/null and b/1-gui/sign_in2.png differ
diff --git a/1-gui/sign_in3.png b/1-gui/sign_in3.png
new file mode 100644
index 0000000000000000000000000000000000000000..c8da38b8e920537f5afe4a02b51851ac543492a9
Binary files /dev/null and b/1-gui/sign_in3.png differ