new architecture for ex_out.  more modular