more class design