naive matrix product implemented