Reworking structure, adding test framework