changed public interfaces declared for tests to private abstract classes