added sparse matrix calls