why need new class?