   t = Time.now
   Enum.each(1..iters, fn(_) -> Matrix.multiply([[1,2,3],[4,5,6],[7,8,9]],[[1,2,3],[4,5,6],[7,8,9]]) end)
   IO.puts "elapsed time #{Time.now - t} secs for #{iters} iterations of a 3x3 x 3x3 matrix multiply"
-  a = Matrix.rand(1000,1000)
-  b = Matrix.rand(1000,1000)
+  a = Matrix.rand(100,100)
+  b = Matrix.rand(100,100)
   t = Time.now
-  Enum.each(1..10, fn(_) -> Matrix.multiply(a,b) end)
-  IO.puts "elapsed time #{Time.now - t} secs for #{10} iterations of a 1000x1000 x 1000x1000 matrix multiply"
+  iters = 100
+  Enum.each(1..iters, fn(_) -> Matrix.multiply(a,b) end)
+  IO.puts "elapsed time #{Time.now - t} secs for #{iters} iterations of a 100x100 x 100x100 matrix multiply"
 end

      assert Matrix.prod([[2,4,6]]) == 48
      assert Matrix.prod([[2],[4],[6]]) == 48
      assert_raise FunctionClauseError, fn -> Matrix.prod([[1,2],[3,4]]) end
    end

  end

    end

    test "size of 3x2 matrix specifying which dimension" do
      m = [[1,2],[3,4],[5,6]]
      assert Matrix.size(m, 1) == 3
      assert Matrix.size(m, 2) == 2
    end

    test "apply a function to every element" do
