# Universal composability: Can an ideal functionality call other ideal functionalities?

I'm new to universal composability.

I'm trying to define a protocol, $$\pi$$, in UC.

The protocol involves 3 parties: A, B, and a smart contract $$C$$. Parties A and B interact with each other and with $$C$$.

Each party, including $$C$$, makes calls to multiple primitives (e.g. symmetric key encryption: $$Enc$$, commitment scheme: $$Comm$$, etc).

One approach is to construct the protocol in the real world and assume the contract is fully trusted.

Then, in the ideal world, I can define an ideal functionality, $$F$$.

Then as a theorem, I say $$\pi$$ UC realizes $$F$$ in ($$Enc$$, $$Comm$$)-hybrid world.

Question 1: To make the definition simpler/neater, in the real world, could I define an ideal functionality $$F_c$$ for the smart contract where $$F_c$$ calls other functionalities like $$Enc$$, $$Comm$$? The reason I thought it would be simpler is that, I could explain the smart contract side protocol separately, remove its detailed description from $$\pi$$ and add $$F'_{c}$$ to the hybrid world, in the above theorem.

Question 2: In general, is it ok if an ideal function calls multiple other ideal functionalities?

Question 3: What is a wrapper functionality? Can a wrapper functionality call multiple functionalities?