diff --git a/source/Good_Practices/conda.rst b/source/Good_Practices/conda.rst
index 5cb2abbb9f438e844bb2334d14829df21cd6fe00..f317d3f9a6b898e6dc9fadf89d8659f58a9fb156 100644
--- a/source/Good_Practices/conda.rst
+++ b/source/Good_Practices/conda.rst
@@ -11,7 +11,7 @@ Reproducible environment: Conda
 Installation
 ============
 
-from the source
+From the source
 ---------------
 
 First we will install **miniconda**, which is a light version of conda.
@@ -30,13 +30,13 @@ For Linux users, you should see a section like this one:
 
     What about the Python versions and 32/64 bits flavours ?
 
-    #. You have the choice between different architecture (e.g.,  32/64 bits). Usually, you with
-       modern architecture the 64bits version is the one to download.
+    #. You have the choice between different architectures (e.g. 32/64 bits). Usually, with
+       modern architectures, the 64bits version is the one to download.
     #. You have the choice between several version of Python (e.g., 2.7, 3.7, etc).
        This version is independent of the version installed on your computer.
        This will be the version used by conda internally in the first environment (the **base**).
        Later on you may create environments with other Python version anyway. 
-       So, you may choose the latest one(e.g. python 3.9).
+       So, you may choose the latest one (e.g. python 3.9).
 
 As an example, in a Linux terminal you can download this version::
 
@@ -51,7 +51,7 @@ Follow the instructions. Answer yes to "Do you wish the installer to initialize
 
 The installation will create a miniconda folder, by default in the home directory ``(~/miniconda3)``.
 
-say no when `conda` ask you to activate conda by default
+Say no when `conda` ask you to activate conda by default
 
 .. note::
 
@@ -135,8 +135,8 @@ activate conda
 
 .. note::
 
-    The (base) at he beginning of your prompt indicate that you are in base environment.
-    We will see environment later
+    The (base) at the beginning of your prompt indicates that you are in the base environment.
+    We will see environments later on.
 
 We will first install a standard Python package called **pandas**::
 
@@ -254,7 +254,7 @@ First we will activate the environment::
 
 You can see that the information of your current environment is displayed in the bash prompt (ie ``(repro)``).
 
-And install in it the packages needed for our analysis::
+And install in it some packages of interest::
 
   conda install bwa samtools ivar pangolin nextclade_js
 
@@ -311,13 +311,13 @@ You could now delete this environment and reproduce it from the YAML file::
 Mamba
 =====
 
-You find conda install
+If you find conda install:
 
-* too slow,
-* consuming too memory
-* does not able to resolve dependencies either with anaconda or miniconda
+* too slow
+* consuming too much memory
+* to not be able to resolve dependencies either with anaconda or miniconda
 
-try `mamba <https://mamba.readthedocs.io/en/latest/user_guide/mamba.html>`_. In your **base** environment
+Try `mamba <https://mamba.readthedocs.io/en/latest/user_guide/mamba.html>`_. In your **base** environment
 
 .. code-block::
 
@@ -337,7 +337,7 @@ You can swap almost all commands between conda & mamba
 
 .. warning::
 
-    The only difference is that you should still use `conda` for activation and deactivation.
+    The only difference is that you should still use `conda` for activation and deactivation of environments.
 
 
 Exercises
diff --git a/source/Good_Practices/cookiecutter.rst b/source/Good_Practices/cookiecutter.rst
index 2cfd7725ba769790dcdb78e74416213f74dc0157..6eb345f9079048ab3d4c6b5e2c5ddd921cb06d0e 100644
--- a/source/Good_Practices/cookiecutter.rst
+++ b/source/Good_Practices/cookiecutter.rst
@@ -15,10 +15,10 @@ Good project structure
 
 Adopt well structured project.
 
-The structure of a project depend on the topic, language on so on.
+The structure of a project depends on the topic, language on so on.
 
-So there is lot of available structures, but choose for one which largely adopted by the community.
-It's ease the communication with the collaborators.
+So there is lot of available structures, but choose one which is largely adopted by the community.
+It facilitates the communication with the collaborators.
 It will also ease the packaging, sharing, and the reproducibility, at the end.
 
 
@@ -33,25 +33,24 @@ Cookiecutter
 
 `cookie cutter <https://github.com/cookiecutter/cookiecutter>`_ is a command-line utility that creates projects
 from cookiecutters (project templates), e.g. creating a Python package project from a Python package project template.
-The project start by providing template for python project but now there exists thousands of templates
-for all language and topics.
+The project start by providing template for python project but now it exists thousands of templates
+for all languages and topics.
 
 .. image:: ../_static/good_practices/cookiecutter_github.png
     :alt: cookiecutter
 
 Have a look on the templates shared by the community: https://github.com/topics/cookiecutter-template
 
-To create a project you have to use a template it exist a lot of template on github.
-Cookiecutter can directly use template hosted on gihtub
+To create a project you have to use a template, a lot of these templates are available on github.
+Cookiecutter can directly use template hosted on github
 
 :code:`python3 -m cookiecutter <github url of template>`
 
-And answer to the question to customize your project
+And answer to the question to customize your project.
 
-And finally, if you do not find what you need in these templates.
-Create your template from an existing one.
+Finally, if you do not find what you need in these templates, create your template from an existing one.
 
-It could be a good idea, specially when you work on a platform, to have a set of template for
+It could be a good idea, especially when you work on a platform, to have a set of templates for
 some typical tasks. It helps to standardize the analysis.
 
 
diff --git a/source/Installation/factory_settings.rst b/source/Installation/factory_settings.rst
index e1e1e91d1e0a557a6eaff9022f8c0645cc649b19..45687ef9a24f602802b04685d51b231c78c4efeb 100644
--- a/source/Installation/factory_settings.rst
+++ b/source/Installation/factory_settings.rst
@@ -8,7 +8,7 @@ Factory Settings
 
 The factory settings do not allow us to install Linux alongside windows.
 
-Windows use all the disk
+Windows use the whole disk:
 
 +-----------+----------------+--------+
 | partition |       type     |  size  |
@@ -26,11 +26,12 @@ Windows use all the disk
 |    6      | MYASUS         | 200 Mo |
 +-----------+----------------+--------+
 
-Our objective is to install windows on 200Go partition and linux on 275 Go partition
-So we will merge the partion 3, 4, 5 and split this new space in two.
-Beware this operation will destroyed anything on the disk.
+Our objective is to install windows on a 200Go partition and linux on a 275 Go partition. So we will
+merge the partion 3, 4, 5 and split this new space into two. Beware this operation will destroy
+anything on the disk.
 
-Windows needs ms cloud identifier, the partition table is locked
+Windows needs ms cloud identifier, the partition table is locked.
 
-So we need to reinstall windows (windows 10) and use not all disk
+So we need to reinstall windows (windows 10) and use part of the disk for Windows and part for
+Linux.
 
diff --git a/source/Installation/linux_admin.rst b/source/Installation/linux_admin.rst
index bcd37b4a3647e2c7c7ce053cadd530be7c32b07c..8f17b6a877068293961eafe727d023f8b4850bdf 100644
--- a/source/Installation/linux_admin.rst
+++ b/source/Installation/linux_admin.rst
@@ -37,7 +37,7 @@ Why use Unix on the computing servers?
 What is the Unix shell?
 -----------------------
 
-* a shell is a user interface for access to an **operating system**'s services.
+* a shell is a user interface to access an **operating system**'s services.
 * a shell can be a **command line interface** or a **graphical user interface**
 * in a command line interface, the user issues commands to the program in the form of successive lines of text (command lines).
 * what is commonly referred as "Unix shell" is a set of commonly-used CLI programs.
@@ -73,7 +73,7 @@ Syntax: command, options, arguments
 On line Help
 ------------
 
-get help
+Get help
 """"""""
 
 * **man command or program** displays the on-line manual pages.
@@ -81,7 +81,7 @@ get help
 * **help command or program** help retrieve information about bash commands only.
 
 
-man vs info vs help
+Man vs info vs help
 """""""""""""""""""
 * **man** pages are the UNIX traditional way of distributing documentation about programs.
 * In the early '90s, the GNU project decided that "man" documentation system was outdated, and wrote the **info** command to replace it.
@@ -89,14 +89,14 @@ man vs info vs help
 
 
 
-set the date and time
+Set the date and time
 =====================
 
-Having a right time is important, lot of tools used time to know if they have to do something ...
-We will set time of the machine to the UTC time
-Then the correction to the localtime will be perform by Linux
+Setting the time correctly is important, a lot of tools use time to know if they have to do something ...
+We will set the time of the machine to the UTC time.
+Then the correction to the localtime will be perform by Linux.
 
-To set the time
+To set the time:
 
 #. restart your PC and press escape key during boot phase
 #. select enter set up
@@ -104,16 +104,16 @@ To set the time
 #. save and exit
 
 
-sudoers
+Sudoers
 =======
 
-In most of distros, there is a special user named `root` which have the rights to do anything.
-This role is dangerous so to avoid mistake we reserved to special action and take care at what we do
+In most distros, there is a special user named `root` which have the rights to do anything.
+This role is dangerous so to avoid mistakes it is reserved to special actions and we should take care of what we do
 when we are logged as root.
 
-Debian/Ubuntu have no root user anymore, but some user are granted for some special operations that need root privileges.
-The first user you created during the installation phase is sudoer. and is granted for all root privilege for all operation.
-to be granted and execute a command with the root privilege, you need to precede your command by the keyword sudo (super user do)
+Debian/Ubuntu have no root user anymore, but some users are granted for some special operations that need root privileges.
+The first user you created during the installation phase is sudoer and is granted for all root privilege for all operation.
+To be granted and execute a command with the root privilege, you need to precede your command by the keyword sudo (super user do)
 The first time you execute a command as sudo you will ask to confirm your password.
 Your password is available for one shell, so if you execute a second command in an other terminal you will ask again for your password.
 
@@ -121,30 +121,30 @@ Your password is available for one shell, so if you execute a second command in
 
     sudo useradd ...
 
-allow one user to be sudoers just add it in group ``sudo``
+Allow one user to be sudoers just add it in group ``sudo``.
 
 .. code-block:: shell
 
     sudo usermod -a -G sudo <username>
 
-This command a <username> in the secondary group ``sudo``
+This command a <username> in the secondary group ``sudo``.
 
 To fine tune the sudoers permission you have to edit the sudoers configuration file
-withe the command
+with the command.
 
 .. code-block:: shell
 
     sudo visudo
 
 
-create new user
-===============
+Create a new user
+=================
 
 .. code-block:: shell
 
     sudo useradd  -u UID -g <primary group>  -G <group1,group2,...>  -m   --shell /bin/bash
 
-only root can perform this command
+Only root can perform this command.
 
 
 create new group
@@ -154,11 +154,11 @@ create new group
 
     sudo groupadd <name of group>
 
-only root can perform this command
+Only root can perform this command.
 
-To take in account new user and group you need to logout and login again
+To take into account new user and group you need to logout and login again.
 
-check you identity
+Check you identity
 ==================
 
 whoami
@@ -173,7 +173,7 @@ to know your
 
 * login/uid
 * primary group/gid
-* all secondaries groups user belong to
+* all secondaries groups the user belongs to
 
 .. code-block:: shell
 
@@ -202,10 +202,10 @@ The command to use is `passwd`
     passwd: password updated successfully
 
 
-To change the password of an other user
----------------------------------------
+To change the password of another user
+--------------------------------------
 
-Only root/sudoer can change the password for an other user.
+Only root/sudoer can change the password for another user.
 
 ``sudo passwd <login>``
 
@@ -221,8 +221,7 @@ For instance cronos which is sudoer modify the password of user *zeus* (which ha
 
 .. note::
 
-    When sudo/root change the password for an other user.
-    The system does not ask for the user password.
+    When sudo/root change the password for another user, the system does not ask for the user password.
 
 
 Access to external hard drive
@@ -241,35 +240,35 @@ These files can be spread out over several devices.
 
 The mount command serves to attach the file system found on some device to the big file tree.
 
-When you insert usbkey in your computer, xubuntu detect it and trigger a mount command
-Unfortunately it does not do the same for filesystem on network.
+When you insert usbkey in your computer, xubuntu detects it and trigger a mount command.
+Unfortunately it does not do the same for filesystem on a network.
 It will be the case to connect the PC to the mk1c sequencer.
 
 .. figure:: ../_static/install/mk1c_connection.*
 
     mk1c connection schema
 
-    mk1c is connected to network as well your Pc
+    mk1c is connected to network as well your PC
 
 So we will have to mount manually the filesystem of the sequencer on our machine to allow ``rampart`` to access
 to the data in realtime.
 
-We saw that mount include a device on the our local file system
-So we need to know
+We saw that mount include a device on the our local file system.
+So we need to know:
 
 - which device
 - a location where to mount the device, we call it the *mounting point*.
   The mounting point is just a regular directory.
-- there are several filesystem formats ext4, vfat, ... . So we need to specify which protocol
-- only root can mount a new device
+- there are several filesystem formats ext4, vfat, ... . So we need to specify which protocol.
+- only root can mount a new device.
 
 .. code-block:: shell
 
     sudo mount -t <format> <device> <mounting point> <option>
 
-In our case the mk1c export its filesystem over network with the `cifs` protocol.
+In our case the mk1c exports its filesystem over network with the `cifs` protocol.
 
-We create the mointing point (To do only Once)
+We create the mounting point (to do only once)
 
 .. code-block:: shell
 
@@ -289,7 +288,7 @@ To do each time you need to connect the Pc to the mk1c
 
 Conversely, the `umount` command will detach it again.
 
-To disconnect the Pc from the mk1c
+To disconnect the PC from the mk1c
 
 .. code-block:: shell
 
@@ -300,9 +299,9 @@ The storage system is not infinite
 ==================================
 
 Any hard drive have a size.
-Sequencing generate data.
+Sequencing generates data.
 You have to monitor the size used and free on the mk1c, otherwise you risk to have an error
-``No space left on device`` and you :red:`will lost the run`.
+``No space left on device`` and you :red:`will lose the run`.
 
 df
 --
@@ -323,7 +322,7 @@ it is used to get a full summary of available and used disk space usage of the f
     tmpfs            1559796       92   1559704   1% /run/user/1000
 
 
-The `-h` *stand for humam readable* dispaly the same information but the size is converted in Ko/Mo/Go
+The `-h` *stand for humam readable* displays the same information but the size is converted in Ko/Mo/Go.
 
 .. code-block::
 
@@ -336,7 +335,7 @@ The `-h` *stand for humam readable* dispaly the same information but the size is
     /dev/nvme0n1p1  256M   33M  224M  13% /boot/efi
     tmpfs           1.5G   92K  1.5G   1% /run/user/1000
 
-You ca restraint the display to one device here / is for the root filesystem
+You can restrain the display to one device here / is for the root filesystem
 
 .. code-block::
 
@@ -347,13 +346,13 @@ You ca restraint the display to one device here / is for the root filesystem
 du
 --
 
-Conversely `du` show you the space used by some files / directories
+Conversely `du` shows you the space used by some files / directories.
 
-one very useful command with du is with options
+One very useful command with du is with options:
 
 * -h for human readable
 * -s summary instead to show you the size of all files and recursively files in directories,
-  it display only the size of the level ask and display the size used by the directory (not each files inside directories
+  it displays only the size of the level asked and displays the size used by the directory (not each files inside directories)
 
 .. code-block::
 
@@ -376,8 +375,7 @@ one very useful command with du is with options
 Installing package
 ==================
 
-Linux distinguish from other operating system by packaging lot of software.
-and a package management system.
+Linux distinguishes from other operating system by packaging a lot of software and a package management system.
 Each linux distros have it's own packaging system:
 
 * centos/redhat have yum/dnf package management system and .rpm packages
@@ -389,11 +387,11 @@ The advantages of official packages is that the installation of these software i
 The maintenance of these package is ensure by the packages manager.
 Lot of bioinformatics software are packages in these distros.
 
-The inconvenient of these packages is that often the latest bleeding edge version of software is not available.
+The inconvenient of these packages is that often the latest bleeding edge version of the software is not available.
 The package manager can handle only one version of each package at one time
 (for instance you cannot use blast+2.11 for one project and 2.0 for an other one).
-the packages are upgrade when you upgrade the system, so the version can change during a project life time.
-We will see alternatives
+the packages are upgraded when you upgrade the system, so the version can change during a project lifetime.
+We will see alternatives.
 
 
 search
@@ -467,9 +465,9 @@ You need to update the list of package, then perform the upgrade of the packages
     $ sudo apt upgrade
 
 
-Debian/Ubuntu is a distros based on release, sometimes you need to switch to a new release.
-For that you need to perform a `dist-upgrade` but only when a new release is available.
-You will warn of new release by the package manager after a "classical" update operation.
+Debian/Ubuntu is a distro based on releases, sometimes you need to switch to a new release.
+For this, you need to perform a `dist-upgrade` but only when a new release is available.
+You will be warned for new releases by the package manager after a "classical" update operation.
 
 .. code-block::
 
diff --git a/source/Installation/linux_install.rst b/source/Installation/linux_install.rst
index 6a1271d8afd776e54d25b632f08160fe55c08b8c..c04ef53a903f6db513ee453fb1eb8753a9c9a660 100644
--- a/source/Installation/linux_install.rst
+++ b/source/Installation/linux_install.rst
@@ -1,4 +1,4 @@
-.. Pasteur Network Course: Bioinformatics for SARS-CoV-2 sequence analysis
+ .. Pasteur Network Course: Bioinformatics for SARS-CoV-2 sequence analysis
 
 .. role:: red
 
@@ -12,18 +12,18 @@ Linux Installation
 Which distros
 =============
 
-Linux belong the Unix family operating systems.
-But it exist lot of linux we called distributions.
-Some of them are free some are commercials.
+Linux belongs the Unix family operating systems.
+But it exists lots of linux flavors called distributions.
+Some of them are free, some are commercials.
 Some are widely used some are more confidentials,...
 
 https://en.wikipedia.org/wiki/List_of_Linux_distributions
 
 https://upload.wikimedia.org/wikipedia/commons/b/b5/Linux_Distribution_Timeline_21_10_2021.svg
 
-
-We choose Xubuntu. Xubuntu is Ubuntu with Xfce as window manager.
-Ubuntu is very widely used and based on debian so it's well maintain with a lot of packages.
+We choose Xubuntu. Xubuntu is Ubuntu with Xfce as window manager.  Ubuntu is very widely used and
+based on debian so it's well maintained with a lot of packages. The Xfce window manager is
+lighweight and close to classical window managers.
 
 
 Installation
@@ -32,22 +32,22 @@ Installation
 Create a bootable usbkey
 ------------------------
 
-We prepare usbkey to boot on and install xubuntu
+We prepare a usbkey to boot on and install xubuntu.
 
-to create a bootable usbkey with Xubuntu
+To create a bootable usbkey with Xubuntu:
 
-#. go on the download page
-#. dowload the image (iso file)
-#. from any unix create the key with
+#. go to the download page
+#. download the image (iso file)
+#. from any unix operating system, create the key with:
     #. check the device of the key (do not mount it)
-       usually /dev/sd? ? match the name of device (a,b,...) it depend of the sd device already mounted
+       usually /dev/sd? ? match the name of device (a,b,...) it depends of the sd device already mounted
 
     #. copy the isofile on the key
         .. code-block::
 
             dd if=/path/to/iso_file.iso of=/dev/sda
 
-        This operation, copy the isofile and reformat the key. so everything on the key is deleted
+        This operation copies the isofile and reformats the key. So everything on the key is deleted. Therefore be sure of the correct "sd" name of your device before running this command !
 
 
 Install Xubuntu
@@ -57,9 +57,9 @@ Boot on usbkey
 """"""""""""""
 
 Start the computer and press the `escape` key.
-You will access to the boot menu
+You will access the boot menu.
 
-choose the usbkey
+Choose the usbkey
 
 
 .. image:: ../_static/install/linux_boot_key.jpg
@@ -73,10 +73,11 @@ Select Try or install Xubuntu
 Select the Operating System language
 """"""""""""""""""""""""""""""""""""
 
-I advise English because if you get some error message.
-To resolve the problem copy/paste the error message in google.
-If you choose another language you will have very or none help.
-Whereas you choose english very often the problm has been already solved by someone and you find easily help.
+I advise to choose English because it will be easier to debug potential some error messages.  To
+resolve the problem, you will only have to copy/paste the error message in Google and see what
+solutions come up. If you choose another language, you will have fewer to no help depending on the
+language. Whereas if you choose English, very often the problem has been already solved by someone and
+you'll find help easily.
 
 Then click on Install Xubuntu
 
@@ -92,10 +93,10 @@ Select the keyboard layout
 
 Choose the installation mode
 """"""""""""""""""""""""""""
-we will use
+We will use:
 * normal installation mode
-* with download the update  (available only if yoy are connected to internet)
-* and third party drivers installation (available only if yoy are connected to internet)
+* with download the update  (available only if you are connected to internet)
+* and third party drivers installation (available only if you are connected to internet)
 
 .. image:: ../_static/install/linux_select_install_mode.jpg
 
@@ -103,10 +104,10 @@ we will use
 Dual boot
 """""""""
 
-Xubuntu will detect that windows is already installed, and there is a not allocated partiion
+Xubuntu will detect that windows is already installed, and there is a not allocated partition.
 Choose to install Xubuntu alongside windows if you want dual boot
 
-if you want only linux, choose: "Erase disk and install Xubuntu"
+If you want only linux, choose: "Erase disk and install Xubuntu"
 
 
 .. image:: ../_static/install/linux_install_dual_boot.jpg
@@ -114,7 +115,7 @@ if you want only linux, choose: "Erase disk and install Xubuntu"
 
 .. warning::
 
-    This operation cannot be revert. If you change your mind you will have to start again from the begining.
+    This operation cannot be reverted. If you change your mind you will have to start again from the beginning.
 
 
 Create main user
@@ -122,63 +123,61 @@ Create main user
 
 .. image:: ../_static/install/linux_install_dual_boot.jpg
 
-choose a good password
+Choose a good password
 
 * 8 characters at least
 * contains lower/upper case
 * contains digit
 * contains special characters  !@#$%^&*()_-+=,.;/~
 
-it's very important especially if you are connected to the net (ssh, ...)
+It's very important especially if you are connected to the net (ssh, ...)
 
 
 Administration
 ==============
 
-set the date and time
+Set the date and time
 =====================
 
-
-
-sudoers
+Sudoers
 =======
 
-In most of distros, there is a special user named `root` which have the rights to do anything.
-This role is dangerous so to avoid mistake we reserved to special action and take care at what we do
-when we are logged as root.
+In most of distros, there is a special user named `root` which have the rights to do anything.  This
+role is dangerous so to avoid mistakes we reserve it to special actions and take care of what you do
+when you are logged as root.
 
-Debian/Ubuntu have no root user anymore, but some user are granted for some special operations that need root privileges.
-The first user you created during the installation phase is sudoer. and is granted for all root privilege for all operation.
-to be granted and execute a command with the root privilege, you need to precede your command by the keyword sudo (super user do)
-The first time you execute a command as sudo you will ask to confirm your password.
-Your password is available for one shell, so if you execute a second command in an other terminal you will ask again for your password.
+Debian/Ubuntu have no root user anymore, but some users are granted for some special operations that need root privileges.
+The first user you created during the installation phase is a sudoer and is granted for all root privileges for all operations.
+To be granted and execute a command with the root privileges, you need to precede your command by the keyword "sudo" (which means 'super user do')
+The first time you execute a command as sudo you will be asked to confirm your password.
+Your password is available for one shell, so if you execute a second command in an other terminal you will be asked again for your password.
 
 .. code-block::
 
     sudo useradd ...
 
 
-create new user
+Create new user
 ===============
 
 .. code-block:: shell
 
     sudo useradd  -u UID -g <primary group>  -G <group1,group2,...>  -m   --shell /bin/bash
 
-only root can perform this command
+Only root can perform this command.
 
-create new group
+Create new group
 ================
 
 .. code-block:: shell
 
     sudo groupadd <name of group>
 
-only root can perform this command
+Only root can perform this command.
 
-To take in account new user and group you need to logout and login again
+To take into account a new user and group you'll need to logout and login again.
 
-check you identity
+Check you identity
 ==================
 
 whoami
@@ -187,11 +186,10 @@ whoami
 id
 --
 
-install package
+Install package
 ===============
 
-Linux distinguish from other operating system by packaging lot of software.
-and a package management system.
+Linux distinguishes itself from other operating system by packaging a lot of software and a package management system.
 Each linux distros have it's own packaging system:
 
 * centos/redhat have yum/dnf package management system and .rpm packages
@@ -199,18 +197,17 @@ Each linux distros have it's own packaging system:
 * gentoo have portage package management system with .ebuild packages
 
 
-The advantages of official packages is that the installation of these software is easy and well tested.
-The maintenance of these package is ensure by the packages manager.
-Lot of bioinformatics software are packages in these distros.
-
-The inconvenient of these packages is that often the latest bleeding edge version of software is not available.
-The package manager can handle only one version of each package at one time
-(for instance you cannot use blast+2.11 for one project and 2.0 for an other one).
-the packages are upgrade when you upgrade the system, so the version can change during a project life time.
-We will see alternatives
+The advantages of official packages is that the installation of the software is easy and well tested.
+The maintenance of these packages is ensured by the packages manager.
+A lot of bioinformatics software are packages in these distros.
 
+The inconvenient of these packages is that often the latest bleeding edge version of software is not
+available.  The package manager can handle only one version of each package at the time (for
+instance you cannot use blast+2.11 for one project and 2.0 for an other one). The packages are
+upgraded when you upgrade the system, so the version can change during a project life time. We will
+see alternatives later on.
 
-search
+Search
 ------
 
 To search if a software is packaged for your ubuntu use the apt command
@@ -219,14 +216,14 @@ To search if a software is packaged for your ubuntu use the apt command
 
     apt search <soft name>
 
-the low level command, to use if it's inside a script (dockerfile, ...)
+The low level command, to use if it's inside a script (dockerfile, ...)
 
 .. code-block::
 
     apt-cache search <soft name>
 
 
-install
+Install
 -------
 
 To install a package, once you have the exact name of the package you want to install
@@ -242,13 +239,13 @@ To install a package, once you have the exact name of the package you want to in
 
     .. note::
 
-        notice that anybody can search if a package exists, but only users granted can install a new package.
+        Notice that anybody can search if a package exists, but only granted users can install a new package.
 
 
 Update system
 =============
 
-To update the whole system (all packages), it can be perform via a widget "software updater",
+To update the whole system (all packages), it can be performed via a widget "software updater",
 but I will describe below the command line way.
 
 You need to update the list of package, then perform the upgrade of the packages
@@ -263,9 +260,9 @@ You need to update the list of package, then perform the upgrade of the packages
     sudo apt-get update
     sudo apt-get upgrade
 
-Debian/Ubuntu is a distros based on release, sometimes you need to switch to a new release.
-For that you need to perform a `distupgrade` but only when a new release is available.
-You will warn of new release by the package manager after a "classical" update operation.
+Debian/Ubuntu are distros based on releases, sometimes you need to switch to a new release.
+In order to do so, you need to perform a `distupgrade` but only when a new release is available.
+You will be warned for new releases by the package manager after a "classical" update operation.
 
 .. code-block::
 
diff --git a/source/Installation/windows.rst b/source/Installation/windows.rst
index 973d83578698352d2394d35249194dcabf371b56..31589d96d938b885da97833cd70ab3aca13638d4 100644
--- a/source/Installation/windows.rst
+++ b/source/Installation/windows.rst
@@ -8,53 +8,53 @@
 Windows
 =======
 
-boot on windows 10 key
+Boot on windows 10 key
 ======================
 
-put the computer on and press `escape` to enter in boot menu
+Turn on the computer and press `escape` to enter the boot menu
 
 .. image:: ../_static/install/windows_boot_key.jpg
 
 
-select windows lang
+Select windows lang
 ===================
 
 .. image:: ../_static/install/linux_select_lang.jpg
 
 
-install windows
+Install windows
 ===============
 
 .. image:: ../_static/install/windows_install.jpg
 
-accept license
+Accept license
 ==============
 
 .. image:: ../_static/install/windows_license.jpg
 
 
-do a custom installation
+Do a custom installation
 ========================
 
 .. image:: ../_static/install/windows_custom_install.jpg
 
-rearange partition table
+Rearange partition table
 ========================
 
 .. image:: ../_static/install/windows_rearange_partition.jpg
 
-#. select partition 3 and supprimer
-#. select partition 4 and supprimer
-#. select partition 5 and supprimer
+#. select partition 3 and "supprimer"
+#. select partition 4 and "supprimer"
+#. select partition 5 and "supprimer"
 
-so we now have 476.5Go not allocated partition, taht we split in two
+So we now have 476.5Go not allocated partition, that we split into two
 
 .. image:: ../_static/install/windows_new_partition.jpg
 
 
-select the not allocated space, click on `new` then ste the size 204800 Mo (200 Go * 1024)
+Select the not allocated space, click on `new` then set the size 204800 Mo (200 Go * 1024).
 
-windows will be install on this partition
-when we will install linux it will detect the not allocated partition and proposed to install on it.
+Windows will be install on this partition.
+When we will install linux it will detect the not allocated partition and propose to install on it.
 
 
diff --git a/source/Unix/archive_and_compressed_files.rst b/source/Unix/archive_and_compressed_files.rst
index abf78e7162f16fe1b216c66baeed39abb107d7bb..1b67e21181ab7c4af60ceb619e06032b338d522f 100644
--- a/source/Unix/archive_and_compressed_files.rst
+++ b/source/Unix/archive_and_compressed_files.rst
@@ -12,7 +12,7 @@ zip
 ====
 
 
-``zip`` is a compression and file packaging utility 
+``zip`` is a compression and file packaging utility. 
 
 * **zip zipfile file1 file2 ...**
 
@@ -28,7 +28,7 @@ zip
 Exercice:
 ---------
 
-Create a compress archive of all files in the Sequence/Proteique dir
+Create a compress an archive of all files in the Sequence/Proteique directory.
 
 unzip
 =====
@@ -74,7 +74,7 @@ bzip2
 =====
 
 * **bzip2** is like gzip but with an other algorithm of compression.
-* **bunzip2** is like gunzip
+* **bunzip2** is like gunzip.
 
 create archive
 ==============
@@ -90,7 +90,7 @@ GNU ‘tar’ saves many files together into a single tape or disk archive.
    
 * usually we add .tar extension to the archive name.
 
-.. warning:: This archive is not compress
+.. warning:: This archive is not compress.
 
 create archive
 ==============
@@ -109,7 +109,7 @@ create and compress an archive
 ==============================
 
 * after creating an archive we can compress it with **gzip**
-* but we can do this 2 operation with tar 
+* but we can do these 2 operations with tar 
    
 * use option -z or -j for compress with gzip or bzip2 respectively.
 
@@ -158,11 +158,11 @@ To uncompress an archive use -z or -j option for gzip or bzip2 respectively.
    tar -xzf archive.tar.gz 
    tar -xjf archive.tar.bz2 
    
-by default the extract is been wher the command is run
+By default the extract will be located where the command is run
 we can change this using **-C dir** option.
 
 .. code-block:: shell
 
    tar -xjf archive.tar.bz2 -C Foobar
 
-.. warning:: the dir must exists  
+.. warning:: the directory must exists.
diff --git a/source/Unix/chain_commands.rst b/source/Unix/chain_commands.rst
index 7831093acfcf819675318d2c6f2267c68b2c4aae..f046c268f94a4d23da01b36f278d3503c5f5d70e 100644
--- a/source/Unix/chain_commands.rst
+++ b/source/Unix/chain_commands.rst
@@ -20,14 +20,14 @@ stdin/stderr/stdout
 The shell 
 
 * reads the command input from the keyboard 
-* writes the command output to the screen, 
-* it writes errors on screen too. 
+* writes the command output to the screen
+* writes errors on the screen 
 
 File descriptors
 ================
 
 | Each process that the shell creates, works with file descriptors. 
-| File descriptors determine where the input to the command originates and where the output and error messages are sent. 
+| File descriptors determine where the input of the command originates and where the output and error messages are sent. 
 
 +--------+--------------+-------------------------+
 | Number | Abbreviation | Definition              |
@@ -73,7 +73,7 @@ Redirecting Standard Input
 
 **command < filename**
 
-exrecises:
+exercises:
 
 | Use command *tr* to transform sequence 
 | *~/DataBio/Sequences/Nucleique/qr1.fasta*
@@ -85,7 +85,7 @@ Redirecting Standard Output
 
 **command > filename** 
 
-redirect the standard output in to a file named *filename*
+redirects the standard output into a file named *filename*
 
 .. warning:: If the file in which we redirect the stdout already exist, the file will be erased.
 
@@ -102,7 +102,7 @@ redirect the standard output in to a file named *filename*
 Redirecting Standard Output
 ===========================
 
-Instead to erase the file, we can append the stdout at the end of the file,
+Instead of erasing the file, we can append the stdout at the end of the file,
 using ``>>``. 
 
 **exercises:**
@@ -119,7 +119,7 @@ using ``>>``.
 Redirecting Standard Error
 ==========================
 
-* To redirect the stderr, we have to name explicetly 
+* To redirect the stderr, we have to name explicitly 
   the file descriptor to redirect ``2>``.
 * we can use ``2>>`` to append to a file.
 
@@ -204,7 +204,7 @@ command2 will be executed if and only if command1 returned zero exit status.
 
 .. warning::
 
-   The exit status depends how the developer implement programs.
+   The exit status depends on how the developer implements programs.
    Sometimes the developer does not follow the convention.
    So it's not possible to chain correctly those programs.
 
@@ -212,7 +212,7 @@ command2 will be executed if and only if command1 returned zero exit status.
 xargs
 =====
 
-build and execute command lines from standard input
+Build and execute command lines from standard input
 xargs executes the command with any initial-arguments
 followed by items read from standard input.
 
diff --git a/source/Unix/connection.rst b/source/Unix/connection.rst
index 574f36388c5130147f278652106b12e9a8dadb06..7bac6d0b427697c1308336ad182a6d3a9f014d58 100644
--- a/source/Unix/connection.rst
+++ b/source/Unix/connection.rst
@@ -37,7 +37,7 @@ Network accessibility at Pasteur.
   :width: 500px
 
 
-remote computer available at Pasteur
+Remote computer available at Pasteur
 ====================================
 
   * **ssh.pasteur.fr**  (can be accessed from everywhere)
@@ -56,7 +56,7 @@ Put data from your PC to remote server
 ======================================
 
 
-* in order to send data from your PC to the remote server. you must use *scp* (*scputty* on windows)
+* in order to send data from your PC to the remote server, you must use *scp* (*scputty* on windows)
 
 * **scp local_file login@remote_server:remote_path**
 * **scp -r local_dir login@remote_server:remote_path**
@@ -65,7 +65,7 @@ Put data from your PC to remote server
 get data from server to your PC
 ===============================
 
-* in order to get data from remote server to your PC. you must use *scp* (*scputty* on windows)
+* in order to get data from remote server to your PC, you must use *scp* (*scputty* on windows)
 
 * **scp login@remote_server:remote_path local_path**
 * **scp -r login@remote_server:remote_path local_path**
diff --git a/source/Unix/display_files.rst b/source/Unix/display_files.rst
index 52c8f1ad52f99a6d01b23afdf34899f27c0c4916..3d5028311574755b0055c76a458bf3c847fcebbb 100644
--- a/source/Unix/display_files.rst
+++ b/source/Unix/display_files.rst
@@ -13,7 +13,7 @@ cat
 
 * **cat file1 file2 file3 ...**
 
-display on the standard output the content of the **text** file 
+displays on the standard output the content of the **text** file 
 in same sequence as the arguments.
  
 more
@@ -59,7 +59,7 @@ head
    aaaccttcaaaccctaccactgagccattaactaccatcctgtttaagatctgaaaaacatgaagactgtattgctcctg
    ...
 
-it's very useful specially when the files are large.
+it's very useful especially when the files are large.
 
 
 tail
@@ -77,13 +77,13 @@ tail
    tgtggattttataatacaccgataaaaactactttgaaataggttttcttttcctgtcgtttactgtcagtagctctctg
    catagaaatgtcaaataaacagatcttgttttggtttc
 
-it's very useful specially when the files are large.
+it's very useful especially when the files are large.
 
 
 file
 ====
 
-If you do not know the file format of given file, for text file it is easy but for binary it's not obvious: picture, movie, compressed file, ...
+If you do not know the file format of a given file, for text file it is easy but for binary it's not obvious: picture, movie, compressed file, ...
 use the command file to display what the file format.
 
 .. code-block::
@@ -103,4 +103,4 @@ use the command file to display what the file format.
     file  ex1.sam
     ex1.sam: Sequence Alignment/Map (SAM), with header version 1.0
 
-Of course the algorithm is not based on the extension. Remind that the extension is just a convention.
\ No newline at end of file
+Of course the algorithm is not based on the extension. Remind that the extension is just a convention.
diff --git a/source/Unix/file_system.rst b/source/Unix/file_system.rst
index 7ac371fcfda1ae8d726c814d89d555eca7ea2906..8bfdb509516552fac56a5046e3f325c2ce5a2add 100644
--- a/source/Unix/file_system.rst
+++ b/source/Unix/file_system.rst
@@ -36,7 +36,7 @@ do you already know a tree structure in biology?
   :class: align-center
   :width: 500px
 
-file sytem tree structure
+file system tree structure
 =========================
 
 .. figure:: ../_static/unix/images/UnixDirectoryTree.png
@@ -109,7 +109,7 @@ This is my map!
       :class: align-center
       :width: 600px
       
-| So now, I know where I'am.
+| So now, I know where I am.
 | But now, I'd like to explore the map.
 
 
@@ -138,7 +138,7 @@ absolute path
    :class: align-center
    :width: 700px
 
-abolute path to file *abc_mouse.fa*
+absolute path to file *abc_mouse.fa*
 
 exercise:
    use command ``cd`` to explore the file systems.
@@ -155,7 +155,7 @@ so we need to upgrade our location vocabulary:
 * where a I am : **.**
 * one level up : **..**
 
-exercise: use command ``cd`` to explore the file systems using relative path.
+exercise: use command ``cd`` to explore the file system using relative path.
 
 shortcuts
 =========
@@ -169,7 +169,7 @@ Exploration
 ===========
 
 | Each machine have it's own map.
-| we have not a map for all machines.
+| we don't have a map for all machines.
 | So we have to explore.
 
 what are there in a this directory?
@@ -192,7 +192,7 @@ some useful options:
 
    * ``ls -lrt`` : what does it mean?
 
-Exerecise:
+Exercise:
 ----------
 
 #. download the following archive :download:`unix training material <../_static/unix/unix_training.tar.bz2>` on you home.
@@ -210,7 +210,7 @@ special characters
 ==================
 
 When a user want to execute a command on several files with similar names,
-or if he don't know the exact names, he can use **jockers**:
+or if he doesn't know the exact names, he can use **jockers**:
 
 * **\*** replace any characters (0 or more characters)
 * **?** replace one character (1 character)
@@ -257,31 +257,31 @@ you can use option -p to preserve rights (owner, group, last acces and modificat
 
 exercise:
 
-copy hmm files (ending with *.hmm*) in `~/unix_training/DataBio/HMM/` in `data` directory you just make.
+copy hmm files (ending with *.hmm*) in `~/unix_training/DataBio/HMM/` in the `data` directory you just made.
 
 mv/rename file/directories
 ==========================
 
 * **mv src dest** (src and dest are paths) 
 
-you can specifies several src like mv src1 src2 src2 ... dest
+you can specify several src like mv src1 src2 src2 ... dest
 
 
 mv warning
 ==========
    
-The **mv** command has not the same effect according src and dest are directories or files
+The **mv** command has not the same effect depending if src and dest are directories or files.
    
 +--------------+-----------+------------------------------------------------------------+
 | src type     | dest type | action                                                     |
 +==============+===========+============================================================+
-| one file     | file      | the src file is rename into dest file                      |
+| one file     | file      | the src file is renamed into dest file                      |
 |              |           | beware if dest file already exists it's lost               |
 +--------------+-----------+------------------------------------------------------------+
-| several file | file      | all src files are lost only the last one is rename as dest |
+| several file | file      | all src files are lost only the last one is renamed as dest |
 +--------------+-----------+------------------------------------------------------------+
 | file         | dir       | all src files are moved in dest directory                  |
-|              |           | dest directory must exists. If not it is consider as file  |
+|              |           | dest directory must exists. If not it is consider as a file  |
 +--------------+-----------+------------------------------------------------------------+
 | dir          | dir       | all src directories are moved in dest directory            |
 |              |           | the dest directory must already exists                     |
@@ -301,14 +301,14 @@ remove file
 
 .. warning::
    by default the user is not asked before to delete a file or not.
-   You are big guy, you know what you do.
+   You are a big girl/guy, you know what you do.
    
-   if you are unsure you can add -i option. In this case you will prompt
+   if you are unsure you can add -i option. In this case you will be prompt
    before deleting an item.
     
 .. rst-class:: build
    
-   * **rm -R directory** delete all files in directory recursively then the directory itself.
+   * **rm -R directory** delete all files in directory recursively and then the directory itself.
    
 Exercise:
 ---------
@@ -335,4 +335,4 @@ We can create a link toward a directory
 Exercise
 --------
 
-Create a link in `~/sandbox` to `unix_training/DataBio/Sequences/` directory
\ No newline at end of file
+Create a link in `~/sandbox` to `unix_training/DataBio/Sequences/` directory
diff --git a/source/Unix/finding_files.rst b/source/Unix/finding_files.rst
index c092da706fee7734a69e0394df0e23474a1a6901..f37578caa3d43e0b7a5e81c384e0b38da07d1816 100644
--- a/source/Unix/finding_files.rst
+++ b/source/Unix/finding_files.rst
@@ -11,7 +11,7 @@ Finding files
 Find a file on the file system
 ==============================
 
-**find** - search for files in a directory hierarch
+**find** - search for files in a directory hierarchy
 
 * **find [paths]  EXPRESSIONS**
 * **paths** = directories which are searched
@@ -40,7 +40,7 @@ Find a file or a directory
 Find files by name
 ==================
 
-* **-name pattern** Base of file name (the path with the leading directories removed) matches shell pattern pattern.  
+* **-name pattern** Base of file name (the path with the leading directories removed) matches shell pattern.  
 * The metacharacters (``*``, ``?``, and ``[]``) are supported.
 
 .. role:: red
@@ -102,9 +102,7 @@ Find files and execute a command on the result
 Find a program in the PATH
 ==========================
 
-want to know the location of a program on the PATH.
-
-depending on the shell you use.
+To know the location of a program in the PATH is depending on the shell you use.
 
     **which** command
     **type** command
diff --git a/source/Unix/get_file_from_web.rst b/source/Unix/get_file_from_web.rst
index 22d7e953f3a9033fa0bf4becfee829f53c9d96a6..cedfc29a8132b45e971da47ae63590abf230844e 100644
--- a/source/Unix/get_file_from_web.rst
+++ b/source/Unix/get_file_from_web.rst
@@ -26,8 +26,8 @@ curl
 
 `curl` do the same stuff than wget but with another syntax.
 
-By default curl write the content on standard output (screen) to write the content
-on file add option `-o, --output <file>`
+By default curl writes the content on standard output (screen). To write the content
+to a file add the option `-o, --output <file>`
 
 .. code-block:: shell
 
diff --git a/source/Unix/jokers.rst b/source/Unix/jokers.rst
index 2d88f02ef6187e01fbada74c40dd6ef7f26467ad..d3c1431379800fe9f2607da2b4b50e9e4b663415 100644
--- a/source/Unix/jokers.rst
+++ b/source/Unix/jokers.rst
@@ -35,10 +35,10 @@ Question Mark Wildcard "?"
 Square Brackets Wildcard "[]"
 =============================
 
-Square brackets "[]" let you matches a range of values.
+Square brackets "[]" let you match a range of values.
 For instance [abcd] match any character (only one) among a, b, c, d
 Instead of enumerating all allowed characters, we can used range [a-f]
-You can negate characters enclosed in Square brackets, using [^] => will match any character **not** in the list.
+You can negate characters enclosed in square brackets, using [^] => will match any character **not** in the list.
 
 .. warning::
     when you use a range, it uses the lexicographic order, so the result can be different,
@@ -161,7 +161,7 @@ Escaping characters
 ===================
 
 Sometimes you need to tell the shell that it should ignore some characters that
-it normally interpreted as a special character or as a wild card.
+it normally interprets as a special character or as a wild card.
 example
 
 * your filename contains a space (normaly interpreted as the command line separator)
diff --git a/source/Unix/permissions.rst b/source/Unix/permissions.rst
index 09abfd40414afc82128d1a0cde03321cb62104df..19c87e87ca05224de5db276398324b73c839b58b 100644
--- a/source/Unix/permissions.rst
+++ b/source/Unix/permissions.rst
@@ -12,10 +12,10 @@ Permissions
 ===========
 
 * Unix is a multi-users system. So some users have some rights to do something and some other don't.
-* The system allows to protect your data from an other user.
+* The system allows to protect your data from another user.
 * The system allows some users to work in groups.
 
-All this features are managed  by the **permissions** (or right access)
+All this features are managed by the **permissions** (or right access)
 
 3 classes of permissions
 ========================
@@ -56,7 +56,7 @@ rwx what does it really mean?
 who am I?
 =========
 
-Permisions are based on your identity and the groups to which you belong.
+Permissions are based on your identity and the groups to which you belong.
 
 * **whoami** => give you the login you logged with
 * **id  <login>** => give the id and the groups to which the login belongs (login is optional) ::
diff --git a/source/Unix/scripting.rst b/source/Unix/scripting.rst
index bb3541965a2f62bf6808df9ef48bdd83252cb866..dc95d384e2a2b802e9b5ab4fd4d932cb4eba4b0f 100644
--- a/source/Unix/scripting.rst
+++ b/source/Unix/scripting.rst
@@ -9,15 +9,15 @@ Scripting
 make shortcut command
 =====================
 
-* We can create a short cut for a commande we repeat.
-* A short cut for a command is an *alias*
+* We can create a shortcut for a command we repeat.
+* A shortcut for a command is an *alias*
 * ``alias shortcut='command'`` 
   (no space surrounding the =)
 * ``hgrep='history|grep'``
 
 exercise:
 
-* create a shortcut for command which extract the 
+* create a shortcut for a command which extract the 
   bank:entryname from a blast report
 
 
@@ -26,7 +26,7 @@ make modification permanent
 
 | Each time we modify the environment this modification
 | is available only for the current terminal.
-| To turn in permanent just put it in your .bashrc 
+| To turn it permanent just put it in your .bashrc 
 
 *.bashrc* is a file which is executed each time a terminal is created.
 
@@ -48,9 +48,9 @@ in order to test your modifications, do the following command ``source ~/.bashrc
 repeat an action
 ================
 
-| Some times we need to repeat the same action *n* times with just a different details.
-| for instance rename all files in a directory.
-| for this we use a loop:
+| Sometimes we need to repeat the same action *n* times with just a different detail.
+| For instance rename all files in a directory.
+| For this we use a loop:
 
 syntax:
 
@@ -91,7 +91,7 @@ scripts
 * scripts are executables text files that contains:
 * the instruction to execute.
 * the flow control instructions.
-* a ``sheebang`` that describe the interpreter to use, eg: ``#! /bin/bash``. the ``sheebang`` must be the first line of the script.
+* a ``sheebang`` that describes the interpreter to use, eg: ``#! /bin/bash``. the ``sheebang`` must be the first line of the script.
 
 scripts arguments
 -----------------
diff --git a/source/Unix/search_filter.rst b/source/Unix/search_filter.rst
index bb0825b2ed5b9c0984d1d0c055c3164166066309..a4d4d114e2de0f95684c5f8e225ea6155b6d67fe 100644
--- a/source/Unix/search_filter.rst
+++ b/source/Unix/search_filter.rst
@@ -17,7 +17,7 @@ grep
 
 **print lines matching a pattern**
 
-pattern is expressed must be an exact **text chain** or a **regular expression** describing text in a formalised syntax that consists in a sequence of characters that define a search pattern.
+pattern must be an exact **text chain** or a **regular expression** describing text in a formalised syntax that consists in a sequence of characters that defines a search pattern.
 
 * **-i** (--ignore-case) Ignore case distinctions in both the PATTERN and the input files.
 * **-v** (--invert-match) Invert the sense of matching, to select non-matching lines.
@@ -184,7 +184,7 @@ Exercise
 * eliminate duplicates from the list of organisms
   gathered from abcd_sequences.gb.
 
-* from the same blast output than previous exercise,
+* from the same blast output than the previous exercise,
   display the sequence ids of the match.
 
 
diff --git a/source/Unix/transform.rst b/source/Unix/transform.rst
index 1b0c766e9ee2f21e51277762b77d0f604874b67e..0ef5b75d4017c419ccb0a38aa12ab65ac21313b3 100644
--- a/source/Unix/transform.rst
+++ b/source/Unix/transform.rst
@@ -33,11 +33,11 @@ MacOS, Windows, Unix uses different newlines characters that are non compatible.
     * Mac OSX: LF (aka \\n)
     * Macos: CR (aka \\r)
 
-those CR characters when viewing files may display as ^M or <cr> at the end of each line or as a second line break
+Those CR characters when viewing files may be displayed as ^M or <cr> at the end of each line or as a second line break.
 
-this can cause problems to your programs that may be unable to interpret newlines correctly.
+This can cause problems to your programs that may be unable to interpret newlines correctly.
 
-you can use tr in order to change all newlines to restore your file.
+You can use tr in order to change all newlines to restore your file.
 
 .. code-block:: shell
 
@@ -65,9 +65,9 @@ sed.
 
 * **s**\ tream **ed**\ itor for filtering and transforming text
 
-sed read data (file or from pipe) and return the filtered data on the stdout.
+sed read data (from file or pipe) and return the filtered data to the stdout.
 
-the sed command is very versatile, so we just cover a few of its features.
+The sed command is very versatile, so we just cover a few of its features.
 
 The three commands to remember are:
 
@@ -188,7 +188,7 @@ more information on regular expression in *man sed*
 Addresses
 ---------
 
-Sed  commands  can  be  given with no addresses,
+Sed commands can be given with no addresses,
 in which case the command will be executed for all input lines
 otherwise command will only be executed for input lines which match that address.
 
@@ -236,7 +236,7 @@ step by step
 Transform filenames
 ===================
 
-filename are strings that can be manipulated thru previous tools (tr and sed) but Unix provides you some builtin
+filename are strings that can be manipulated through previous tools (tr and sed) but Unix provides you some builtin
 tools in order to manipulate and transform filenames in an easy way.
 
 basename