diff --git a/bob/learn/misc/test_gaussian.py b/bob/learn/misc/test_gaussian.py
index 4a798659272d6894e7515db68bf66101aa9be132..eb2b0faeb19604dbffac7ff4e938933916fc9c64 100644
--- a/bob/learn/misc/test_gaussian.py
+++ b/bob/learn/misc/test_gaussian.py
@@ -33,7 +33,7 @@ def test_GaussianMachine():
   g = Gaussian(3)
   assert (g.mean == 0.0).all()
   assert (g.variance == 1.0).all()
-  assert g.dim_d == 3
+  assert g.shape == (3,)
 
   # Set and check mean, variance, variance thresholds
   mean     = numpy.array([0, 1, 2], 'float64')
@@ -52,6 +52,34 @@ def test_GaussianMachine():
   assert g == g_loaded
   assert (g != g_loaded ) is False
   assert g.is_similar_to(g_loaded)
+  
+  # Save and read from file using the keyword argument
+  filename = str(tempfile.mkstemp(".hdf5")[1])
+  g.save(hdf5=bob.io.base.HDF5File(filename, 'w'))
+  g_loaded = Gaussian(hdf5=bob.io.base.HDF5File(filename))
+  assert g == g_loaded
+  assert (g != g_loaded ) is False
+  assert g.is_similar_to(g_loaded)
+
+  # Save and loading from file using the keyword argument
+  filename = str(tempfile.mkstemp(".hdf5")[1])
+  g.save(bob.io.base.HDF5File(filename, 'w'))
+  g_loaded = bob.learn.misc.Gaussian()
+  g_loaded.load(bob.io.base.HDF5File(filename))
+  assert g == g_loaded
+  assert (g != g_loaded ) is False
+  assert g.is_similar_to(g_loaded)
+
+  # Save and loading from file using the keyword argument
+  filename = str(tempfile.mkstemp(".hdf5")[1])
+  g.save(bob.io.base.HDF5File(filename, 'w'))
+  g_loaded = bob.learn.misc.Gaussian()
+  g_loaded.load(hdf5=bob.io.base.HDF5File(filename))
+  assert g == g_loaded
+  assert (g != g_loaded ) is False
+  assert g.is_similar_to(g_loaded)
+
+
   # Make them different
   g_loaded.set_variance_thresholds(0.001)
   assert (g == g_loaded ) is False
@@ -66,17 +94,12 @@ def test_GaussianMachine():
   ref3 = -7.319362000894712
   eps = 1e-10
   assert equals(g.log_likelihood(sample1), ref1, eps)
-  assert equals(g.forward(sample1), ref1, eps)
   assert equals(g.log_likelihood(sample2), ref2, eps)
-  assert equals(g.forward(sample2), ref2, eps)
   assert equals(g.log_likelihood(sample3), ref3, eps)
-  assert equals(g.forward(sample3), ref3, eps)
 
   # Check resize and assignment
-  g.shape = (6,)
-  assert g.shape == (6,)
   g.resize(5)
-  assert g.dim_d == 5
+  assert g.shape == (5,)
   g2 = Gaussian()
   g2 = g
   assert g == g2
diff --git a/bob/learn/misc/test_gmm.py b/bob/learn/misc/test_gmm.py
index bb3855d781397a12c591952f5f9b6c7971766373..916683e411b33b5da0216eacf635ddd0ccb9a4ff 100644
--- a/bob/learn/misc/test_gmm.py
+++ b/bob/learn/misc/test_gmm.py
@@ -37,6 +37,7 @@ def test_GMMStats():
   assert (gs.n == n).all()
   assert (gs.sum_px == sumpx).all()
   assert (gs.sum_pxx == sumpxx).all()
+  assert gs.shape==(2,3)
 
   # Saves and reads from file
   filename = str(tempfile.mkstemp(".hdf5")[1])
@@ -45,6 +46,34 @@ def test_GMMStats():
   assert gs == gs_loaded
   assert (gs != gs_loaded ) is False
   assert gs.is_similar_to(gs_loaded)
+  
+  # Saves and reads from file using the keyword argument
+  filename = str(tempfile.mkstemp(".hdf5")[1])
+  gs.save(hdf5=bob.io.base.HDF5File(filename, 'w'))
+  gs_loaded = GMMStats(bob.io.base.HDF5File(filename))
+  assert gs == gs_loaded
+  assert (gs != gs_loaded ) is False
+  assert gs.is_similar_to(gs_loaded)
+
+  # Saves and load from file using the keyword argument
+  filename = str(tempfile.mkstemp(".hdf5")[1])
+  gs.save(hdf5=bob.io.base.HDF5File(filename, 'w'))
+  gs_loaded = GMMStats()
+  gs_loaded.load(bob.io.base.HDF5File(filename))
+  assert gs == gs_loaded
+  assert (gs != gs_loaded ) is False
+  assert gs.is_similar_to(gs_loaded)
+
+  # Saves and load from file using the keyword argument
+  filename = str(tempfile.mkstemp(".hdf5")[1])
+  gs.save(hdf5=bob.io.base.HDF5File(filename, 'w'))
+  gs_loaded = GMMStats()
+  gs_loaded.load(hdf5=bob.io.base.HDF5File(filename))
+  assert gs == gs_loaded
+  assert (gs != gs_loaded ) is False
+  assert gs.is_similar_to(gs_loaded)
+  
+  
   # Makes them different
   gs_loaded.t = 58
   assert (gs == gs_loaded ) is False
@@ -73,7 +102,9 @@ def test_GMMStats():
   assert (gs_loaded.sum_px == 0).all()
   assert (gs_loaded.sum_pxx == 0).all()
   # Resize and checks size
-  gs_loaded.resize(4,5)
+  assert  gs_loaded.shape==(2,3)
+  gs_loaded.resize(4,5)  
+  assert  gs_loaded.shape==(4,5)
   assert gs_loaded.sum_px.shape[0] == 4
   assert gs_loaded.sum_px.shape[1] == 5