using blas where applicable