too direct matrix multiplication