diff --git a/README.md b/README.md
index 988f69e..f861dcd 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
- Copyright (C) 2013-2017 Christian Thomas Jacobs.
+ Copyright (C) 2013-2018 Christian Thomas Jacobs.
This file is part of PyQSO.
@@ -15,61 +15,37 @@
You should have received a copy of the GNU General Public License
along with PyQSO. If not, see .
-PyQSO
-=====
+# PyQSO
PyQSO is a contact logging tool for amateur radio operators.
[![Build Status](https://travis-ci.org/ctjacobs/pyqso.svg)](https://travis-ci.org/ctjacobs/pyqso)
[![Documentation Status](https://readthedocs.org/projects/pyqso/badge/?version=latest)](https://readthedocs.org/projects/pyqso/?badge=latest)
-Installation and running
-------------------------
+## Dependencies
-Assuming that the current working directory is PyQSO's base directory (the directory that the `Makefile` is in), PyQSO can be run without installation by issuing the following command in the terminal:
+As the name suggests, PyQSO is written primarily in the [Python](https://www.python.org/) programming language (version 3.x). The graphical user interface has been developed using the [GTK+ library](https://www.gtk.org/) through the [PyGObject bindings](https://pygobject.readthedocs.io). Therefore, in order to run PyQSO, the Python interpreter must be present on your system along with support for GTK+. On many Linux-based systems this can be accomplished by installing the following Debian packages:
- python3 bin/pyqso
-
-If the `pip3` package manager is available on your system then PyQSO can be installed system-wide using:
-
- sudo make install
-
-Once installed, the following command will run PyQSO:
-
- pyqso
-
-Documentation
--------------
-
-The PyQSO documentation is stored in the `docs` directory. It can be built with the following command:
-
- make docs
-
-which will produce an HTML version of the documentation in `docs/build/html` that can be opened in a web browser.
-
-Alternatively, a ready-built version of the PyQSO documentation can be found on [Read the Docs](http://pyqso.readthedocs.io/).
-
-Dependencies
-------------
-
-PyQSO depends on the following Debian packages:
-
-* gir1.2-gtk-3.0
* python3
-* python3-gi-cairo (for log printing purposes)
+* gir1.2-gtk-3.0
+* python3-gi-cairo
-The following extra packages are necessary to fully enable the grey line tool and the plotting of logbook statistics:
+Several extra packages are necessary to enable the full functionality of PyQSO, such as the grey line tool. Many of these (specified in the `requirements.txt` file) can be readily installed system-wide using the Python package manager by issuing the following command in the terminal:
+
+ sudo pip3 install -U -r requirements.txt
+
+but the complete list is given below:
* python3-matplotlib (version 1.3.0 or later)
* python3-mpltoolkits.basemap
* python3-numpy
* libxcb-render0-dev
* python3-cairocffi
-* [geocoder](https://pypi.python.org/pypi/geocoder) (installable with `pip3` and used for QTH lookups)
+* [geocoder](https://pypi.python.org/pypi/geocoder) (for QTH lookups)
+* python3-sphinx (for building the documentation)
+* python3-hamlib (for Hamlib support)
-The following extra package is necessary to build the documentation:
-
-* python3-sphinx
+### Hamlib support
There currently does not exist a Python 3-compatible Debian package for [Hamlib](http://www.hamlib.org). This library must be built manually to enable Hamlib support. As per the instructions on the [Hamlib mailing list](https://sourceforge.net/p/hamlib/mailman/message/35692744/), run the following commands in the Hamlib root directory (you may need to run `sudo apt-get install build-essential autoconf automake libtool` beforehand):
@@ -83,7 +59,32 @@ You will also need to append the Hamlib `bindings` and `bindings/.libs` director
export PYTHONPATH=$PYTHONPATH:/path/to/hamlib/bindings:/path/to/hamlib/bindings/.libs
-Contact
--------
+## Installing and running
+
+Assuming that the current working directory is PyQSO's base directory (the directory that the `Makefile` is in), PyQSO can be run without installation by issuing the following command in the terminal:
+
+ python3 bin/pyqso
+
+If the Python package manager `pip3` is available on your system then PyQSO can be installed system-wide using:
+
+ sudo make install
+
+Once installed, the following command will run PyQSO:
+
+ pyqso
+
+## Documentation
+
+Guidance on how to use PyQSO is available on [Read the Docs](http://pyqso.readthedocs.io/) and in the screencast below.
+
+[![PyQSO: A Logging Tool for Amateur Radio Operators](https://img.youtube.com/vi/sVdZl9KnDsk/0.jpg)](https://www.youtube.com/watch?v=sVdZl9KnDsk)
+
+The documentation can also be built locally with the following command:
+
+ make docs
+
+which will produce an HTML version of the documentation in `docs/build/html` that can be opened in a web browser.
+
+## Contact
If you have any comments or questions about PyQSO please send them via email to Christian Jacobs, M0UOS, at .
diff --git a/docs/source/getting_started.rst b/docs/source/getting_started.rst
index 3ff528e..2f518a5 100644
--- a/docs/source/getting_started.rst
+++ b/docs/source/getting_started.rst
@@ -8,11 +8,11 @@ It is recommended that users run PyQSO on the Linux operating system,
since all development and testing of PyQSO takes place there.
As the name suggests, PyQSO is written primarily in the `Python `_
-programming language (version 3.x). The graphical user interface has been built using
+programming language (version 3.x). The graphical user interface has been developed using
the `GTK+ library `_ through the `PyGObject bindings `_. PyQSO also uses an
`SQLite `_ embedded database to manage all the contacts an amateur radio
operator makes. Users must therefore make sure that the Python
-interpreter and any additional software dependencies are satisfied
+interpreter is installed and that any additional software dependencies are satisfied
before PyQSO can be run successfully. The list of software packages that
PyQSO depends on is provided in the ``README.md`` file.
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..e0a74fd
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,6 @@
+numpy
+matplotlib>=1.3.0
+basemap
+cairocffi
+sphinx
+geocoder