Set up initial skelton structure of code. Probrably needs a bit of refactoring