diff --git a/wetb/gtsdf/__init__.py b/wetb/gtsdf/__init__.py
index 7339aa3425109db20313635013bf75b0e14db84c..8e583291a9a11dd40f5bbf0fc36235605ad62689 100644
--- a/wetb/gtsdf/__init__.py
+++ b/wetb/gtsdf/__init__.py
@@ -48,8 +48,18 @@ class Dataset(object):
         if id == 1:
             return self.time
         else:
-            return self.data[:, id - 2]
-
+            return self.data[:, id - 1]
+
+    def __getattribute__(self, name):
+        try:
+            return object.__getattribute__(self, name)
+            
+        except Exception as e:
+            try:
+                return self(name)
+            except:
+                raise e
+            
 
 
 __all__ = sorted([m for m in set(dir()) - set(d)])
diff --git a/wetb/gtsdf/tests/test_gtsdf.py b/wetb/gtsdf/tests/test_gtsdf.py
index 004eed321612f21ae8dd045db9e13f87d7a7fb99..116b27f9e4030c2d9fe96737cb8480ccefe16f27 100644
--- a/wetb/gtsdf/tests/test_gtsdf.py
+++ b/wetb/gtsdf/tests/test_gtsdf.py
@@ -18,10 +18,10 @@ from wetb import gtsdf
 
 import unittest
 import os
-import shutil
 
 tmp_path = os.path.dirname(__file__) + "/tmp/"
-tfp = os.path.dirname(__file__) + "/test_files/"
+tfp = os.path.dirname(os.path.abspath(__file__)) + "/test_files/"
+
 class Test_gsdf(unittest.TestCase):
     def setUp(self):
         unittest.TestCase.setUp(self)
@@ -230,11 +230,32 @@ class Test_gsdf(unittest.TestCase):
         df = gtsdf.load_pandas(fn)
 
     def test_loadtesthdf5(self):
-
         time, data, info = gtsdf.load(tfp + 'test.hdf5')
         self.assertEqual(time[1], 0.05)
         self.assertEqual(data[1, 1], 11.986652374267578)
         self.assertEqual(info['attribute_names'][1], "WSP gl. coo.,Vy")
+    
+    def test_loadhdf5File(self):
+        f = h5py.File(tfp + 'test.hdf5')
+        time, data, info = gtsdf.load(f)
+        
+        self.assertEqual(time[1], 0.05)
+        self.assertEqual(data[1, 1], 11.986652374267578)
+        self.assertEqual(info['attribute_names'][1], "WSP gl. coo.,Vy")
+        
+        
+    def test_gtsdf_dataset(self):
+        ds = gtsdf.Dataset(tfp+'test.hdf5')
+        self.assertEqual(ds('Time')[1], 0.05)
+        self.assertEqual(ds.Time[1], 0.05)
+        self.assertRaisesRegex(AttributeError, "'Dataset' object has no attribute 'Time1'", lambda : ds.Time1)
+        self.assertEqual(ds(2)[1], 11.986652374267578)
+        n = ds.info['attribute_names'][2]
+        self.assertEqual(n, "WSP gl. coo.,Vy")
+        self.assertEqual(ds(n)[1], 11.986652374267578)
+        
+        
+        
 
 
 
diff --git a/wetb/gtsdf/tests/test_unix_time.py b/wetb/gtsdf/tests/test_unix_time.py
index 434b7c3d87446840831aadf273943f2476604b07..35e053be226483a49966b3f6aefce5e81fa8c6f2 100644
--- a/wetb/gtsdf/tests/test_unix_time.py
+++ b/wetb/gtsdf/tests/test_unix_time.py
@@ -12,7 +12,6 @@ standard_library.install_aliases()
 import unittest
 import numpy as np
 import datetime
-from wetb.utils.timing import print_time
 from wetb.gtsdf.unix_time import to_unix, from_unix
 
 class TestUnixTime(unittest.TestCase):
@@ -20,22 +19,24 @@ class TestUnixTime(unittest.TestCase):
 
     def test_to_unix(self):
         self.assertEqual(to_unix(datetime.datetime(2016, 2, 2, 13, 6, 25)), 1454418385)
+        self.assertEqual(to_unix([datetime.datetime(2016, 2, 2, 13, 6, 25),datetime.datetime(2016, 2, 2, 13, 6, 26)]), [1454418385,1454418386])
         self.assertNotEqual(to_unix(datetime.datetime(2016, 2, 2, 13, 6, 26)), 1454418385)
+        self.assertRaises(Exception, to_unix,1)
+        
+        
+        
+
 
     def test_from_unix(self):
         self.assertEqual(from_unix(1454418385), datetime.datetime(2016, 2, 2, 13, 6, 25))
         self.assertNotEqual(from_unix(1454418385), datetime.datetime(2016, 2, 2, 13, 6, 26))
+        
+        self.assertEqual(from_unix(np.nan), datetime.datetime(1970,1,1,0,0))
+        self.assertEqual(from_unix([1454418385,1454418386]), [datetime.datetime(2016, 2, 2, 13, 6, 25),datetime.datetime(2016, 2, 2, 13, 6, 26)])
+        
 
 
 
-#    @print_time
-#    def r(self, dt):
-#        return [to_unix(dt) for dt in dt]
-
-#    def test_to_unix_time(self):
-#        dt = [datetime.datetime(2000, 1, 1, 12, s % 60) for s in np.arange(1000000)]
-#        self.r(dt)
-
 if __name__ == "__main__":
     #import sys;sys.argv = ['', 'Test.testName']
     unittest.main()
diff --git a/wetb/gtsdf/unix_time.py b/wetb/gtsdf/unix_time.py
index dfd4bc6ebb2beadd4720cecf292ab84d199855e3..c5ac88c06e9f8978e8415574f5c74f80bff9ccae 100644
--- a/wetb/gtsdf/unix_time.py
+++ b/wetb/gtsdf/unix_time.py
@@ -18,10 +18,10 @@ def to_unix(dateTime):
             return [(dt - timestamp0).total_seconds() for dt in dateTime]
         raise
 
-def from_unix_old(sec):
-    if np.isnan(sec):
-        return datetime.utcfromtimestamp(0)
-    return datetime.utcfromtimestamp(sec)
+# def from_unix_old(sec):
+#     if np.isnan(sec):
+#         return datetime.utcfromtimestamp(0)
+#     return datetime.utcfromtimestamp(sec)
 
 
 day_dict = {}