now it produces a numerical matrix