Feature/5

See #5 for a list of changes. This is ready to merge, but it needs more eyes on it; i.e. testing and tweaking. We also need to take a look at completing #6 next.