All basic functionalities working -- committing before refactorisation