class hyrachiy constructed