make class structure not suck
make class structure not suck