#7 - Reorganised project and added boilerplate for test runner