polish the new class structure