add new class and microtests