compound component pattern