updated components to have named tuples when there are multiple outputs