Begins tests
Improve documentation
Tidy up