separated generating of output