add further classes and tests