source: https://www.mitchr.me/SS/exampleCode/blas.html
