Basic design of classes