change matrix storage to use an array of column vectors