review code, add naive coproducts