     end
 
     test "size of 3x2 matrix specifying which dimension" do
-      assert Matrix.size([[1,2],[3,4],[5,6]],1) == 3
-      assert Matrix.size([[1,2],[3,4],[5,6]],2) == 2
+      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

      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

  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(100,100)
  b = Matrix.rand(100,100)
  t = Time.now
  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
