Implemented class hierarchy