Finished: basic functionality
Finished: Basic functionality
Tidied up some things