General outline of classes