[core.matrix] more work on Matrix