# From toy programs to real life

So far, we’ve seen how to write a single FHE program that can be run once on an encrypted data set. However, such a situation is often not representative of real life applications of FHE. What if we’d like to run different programs on the same encrypted data set?  What if we want to feed the outputs of one FHE program as the inputs to another FHE program?

In this chapter, we’ll look at how to use *unified parameters* and *chaining* to address the above scenarios.
