matrix lib