Rephrased class hierarchy