Outline of necessary classes