Basic class design