added two new class, test not complete yet