added core.matrix