added generic repository, restructured tests for this repository to be more modern i.e. assertThat... hamcrest style + removed the 'test' from the test names... TODO's added + make same mods on other tests