Almost finalised...

To do:
A few minor tweaks in terms of the interface