added better sparse support with sparse dense matrix multiplication
better sparse support