[add] composing components