inheritance on complex type