all the product_orthogonal have been changed to prod_orthogonal for consistency