fixed outer product, still remarks to do!