added strassen algorithm (but extremely slow)