cleaned up tests. use metaclasses