diff --git a/wetb/__init__.py b/wetb/__init__.py
index a49f1a1760ad7fd9430e910ac48b412a1367990f..6bd6d64443319049f1a7e32aa2281329ccae6294 100644
--- a/wetb/__init__.py
+++ b/wetb/__init__.py
@@ -1,3 +1,9 @@
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 import pkg_resources
 test = "TEST"
 try:
diff --git a/wetb/dlc/high_level.py b/wetb/dlc/high_level.py
index 56d59963e9bbe54916525c81f76d39dbc2f6e3cc..ffdd0b5ab69a6261bcfce0a8b7e7b8d209ac8b15 100644
--- a/wetb/dlc/high_level.py
+++ b/wetb/dlc/high_level.py
@@ -3,6 +3,16 @@ Created on 01/10/2014
 
 @author: MMPE
 '''
+from __future__ import division
+from __future__ import print_function
+from __future__ import unicode_literals
+from __future__ import absolute_import
+from builtins import int
+from builtins import map
+from builtins import str
+from builtins import zip
+from future import standard_library
+standard_library.install_aliases()
 import pandas as pd
 import numpy as np
 import glob
diff --git a/wetb/dlc/tests/test_high_level.py b/wetb/dlc/tests/test_high_level.py
index 9734d51795f72467483cb006571e54dc1bcc5290..48b8f37a190ed120ea700aaa19518790eb3657df 100644
--- a/wetb/dlc/tests/test_high_level.py
+++ b/wetb/dlc/tests/test_high_level.py
@@ -3,6 +3,12 @@ Created on 09/10/2014
 
 @author: MMPE
 '''
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 import unittest
 from wetb.dlc.high_level import DLCHighLevel, Weibull
 import os
diff --git a/wetb/fast/fast_io.py b/wetb/fast/fast_io.py
index ee7a26399848af7bbd46ab60ba656c11d3da7260..7d331df5903f74899c1a329c8989f2bbbc8799fd 100644
--- a/wetb/fast/fast_io.py
+++ b/wetb/fast/fast_io.py
@@ -3,6 +3,15 @@ Created on 03/09/2015
 
 @author: MMPE
 '''
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import absolute_import
+from builtins import open
+from builtins import map
+from builtins import range
+from future import standard_library
+standard_library.install_aliases()
 import os
 import numpy as np
 import struct
diff --git a/wetb/fast/tests/test_fast_io.py b/wetb/fast/tests/test_fast_io.py
index cd656553ecc546b5b3846a74d904899d980efa21..187dccfb4e4e0dafa34d43680c7b99974b105016 100644
--- a/wetb/fast/tests/test_fast_io.py
+++ b/wetb/fast/tests/test_fast_io.py
@@ -3,6 +3,12 @@ Created on 03/09/2015
 
 @author: MMPE
 '''
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 import unittest
 
 from wetb.fast.fast_io import load_output
diff --git a/wetb/fatigue_tools/bearing_damage.py b/wetb/fatigue_tools/bearing_damage.py
index 04af76dd43adb353215f657d59326517e41653b5..fa509db242fe943b4da6b59a6aabe5c8b6eca109 100644
--- a/wetb/fatigue_tools/bearing_damage.py
+++ b/wetb/fatigue_tools/bearing_damage.py
@@ -3,6 +3,13 @@ Created on 13/10/2014
 
 @author: MMPE
 '''
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import absolute_import
+from builtins import zip
+from future import standard_library
+standard_library.install_aliases()
 
 def bearing_damage(angle_moment_lst, m=3, thresshold=0.1):
     """Function ported from Matlab.
diff --git a/wetb/fatigue_tools/fatigue.py b/wetb/fatigue_tools/fatigue.py
index 98bad48131ca3a0ba9af455fe3fed2bf4db02c33..e26089ce4f5c6717651908ac1e35ef918d52fb9b 100644
--- a/wetb/fatigue_tools/fatigue.py
+++ b/wetb/fatigue_tools/fatigue.py
@@ -14,6 +14,12 @@ or
 - 'rainflow_astm' (based on the c-implementation by Adam Nieslony found at the MATLAB Central File Exchange
                    http://www.mathworks.com/matlabcentral/fileexchange/3026)
 '''
+from __future__ import division
+from __future__ import print_function
+from __future__ import unicode_literals
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 import numpy as np
 from wetb.fatigue_tools.rainflowcounting import rainflowcount
 
diff --git a/wetb/fatigue_tools/rainflowcounting/compile.py b/wetb/fatigue_tools/rainflowcounting/compile.py
index caa0465633726433b58df7eb06774f2a0e2c2462..ba4576622a7bb3bfc76fbef7c76379d63cf64ed5 100644
--- a/wetb/fatigue_tools/rainflowcounting/compile.py
+++ b/wetb/fatigue_tools/rainflowcounting/compile.py
@@ -1,3 +1,9 @@
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 from wetb.utils.cython_compile.cython_compile import cython_import
 cython_import('pair_range')
 cython_import('peak_trough')
diff --git a/wetb/fatigue_tools/rainflowcounting/pair_range.py b/wetb/fatigue_tools/rainflowcounting/pair_range.py
index 6a493d701e5760682061369f6f2c1414f8d63ce1..c3048fad65ba94fcb3724258e120bc8b73609c96 100644
--- a/wetb/fatigue_tools/rainflowcounting/pair_range.py
+++ b/wetb/fatigue_tools/rainflowcounting/pair_range.py
@@ -1,3 +1,9 @@
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 
 import cython
 import numpy as np
diff --git a/wetb/fatigue_tools/rainflowcounting/peak_trough.py b/wetb/fatigue_tools/rainflowcounting/peak_trough.py
index fc6bde699eee1cbd1406f58bca043a5f637bfa42..7ae9b20da089f9f6bfe3787db438ee335a0ab725 100644
--- a/wetb/fatigue_tools/rainflowcounting/peak_trough.py
+++ b/wetb/fatigue_tools/rainflowcounting/peak_trough.py
@@ -1,3 +1,9 @@
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 import cython
 import numpy as np
 #cimport numpy as np
diff --git a/wetb/fatigue_tools/rainflowcounting/rainflowcount.py b/wetb/fatigue_tools/rainflowcounting/rainflowcount.py
index 304cf570877dfb7dd1caccb3ff68f12c7a0ea162..645da85e332a8cd5296d602e982c46b1cd79c1cf 100644
--- a/wetb/fatigue_tools/rainflowcounting/rainflowcount.py
+++ b/wetb/fatigue_tools/rainflowcounting/rainflowcount.py
@@ -1,3 +1,10 @@
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import absolute_import
+from builtins import str
+from future import standard_library
+standard_library.install_aliases()
 import numpy as np
 from wetb.utils.cython_compile.cython_compile import cython_import
 
diff --git a/wetb/fatigue_tools/rainflowcounting/rainflowcount_astm.py b/wetb/fatigue_tools/rainflowcounting/rainflowcount_astm.py
index 06924c526cb5007e3e50ed9a1e678c41b60a8f3c..2cb2b2d4a9391bf39c17c5d6380cafa90b7706ff 100644
--- a/wetb/fatigue_tools/rainflowcounting/rainflowcount_astm.py
+++ b/wetb/fatigue_tools/rainflowcounting/rainflowcount_astm.py
@@ -13,6 +13,13 @@ from cy_rainflowcount import find_extremes,rainflow
 ext = find_extremes(np.array([-2,0,1,0,-3,0,5,0,-1,0,3,0,-4,0,4,0,-2]).astype(np.double))
 print rainflow(ext)
 '''
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import absolute_import
+from builtins import range
+from future import standard_library
+standard_library.install_aliases()
 
 import numpy as np
 
diff --git a/wetb/fatigue_tools/rainflowcounting/rfc_hist.py b/wetb/fatigue_tools/rainflowcounting/rfc_hist.py
index c7883e0e9139e52903ca5cad7e3d215b81d60ab0..65d3c00945c8f97f731af59972c4a8b2f55a7b25 100644
--- a/wetb/fatigue_tools/rainflowcounting/rfc_hist.py
+++ b/wetb/fatigue_tools/rainflowcounting/rfc_hist.py
@@ -1,3 +1,9 @@
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 import numpy as np
 def rfc_hist(sig_rf, nrbins=46):
     """Histogram of rainflow counted cycles
diff --git a/wetb/fatigue_tools/tests/test_bearing_damage.py b/wetb/fatigue_tools/tests/test_bearing_damage.py
index a4ece3a68356b6d90fe3d32e0431f31323316c6a..37e33b48af2a1bfc2535ee832822938d5cf98fa9 100644
--- a/wetb/fatigue_tools/tests/test_bearing_damage.py
+++ b/wetb/fatigue_tools/tests/test_bearing_damage.py
@@ -3,6 +3,12 @@ Created on 16/07/2013
 
 @author: mmpe
 '''
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 
 
 import unittest
diff --git a/wetb/fatigue_tools/tests/test_fatigue.py b/wetb/fatigue_tools/tests/test_fatigue.py
index f5cb6bf06f6bca4e98ee707a6bce5a6b12f5c745..904c8717db8caccc45055d66a3434e0ddb359a44 100644
--- a/wetb/fatigue_tools/tests/test_fatigue.py
+++ b/wetb/fatigue_tools/tests/test_fatigue.py
@@ -3,6 +3,12 @@ Created on 16/07/2013
 
 @author: mmpe
 '''
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 
 import unittest
 
diff --git a/wetb/gtsdf/__init__.py b/wetb/gtsdf/__init__.py
index d31e802bfee4fe33cfcebd271feb7956e2f29ba8..0ba329148e5bf2a39f22b1e821d4315e6f1172f8 100644
--- a/wetb/gtsdf/__init__.py
+++ b/wetb/gtsdf/__init__.py
@@ -24,6 +24,12 @@ This module contains three methods:
 .. _append_block: gtsdf.html#gtsdf.append_block
 
 """
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 
 d = None
 d = dir()
diff --git a/wetb/gtsdf/gtsdf.py b/wetb/gtsdf/gtsdf.py
index ae72830af5a7cdfb60a03abd8db1bd6ac7903095..b948765bf458e127e669d5ed0cf52f0934256514 100644
--- a/wetb/gtsdf/gtsdf.py
+++ b/wetb/gtsdf/gtsdf.py
@@ -1,4 +1,9 @@
 from __future__ import division, print_function, absolute_import, unicode_literals
+from builtins import zip
+from builtins import range
+from builtins import str
+from future import standard_library
+standard_library.install_aliases()
 import warnings
 from wetb.gtsdf.unix_time import from_unix
 try:
@@ -218,7 +223,9 @@ def save(filename, data, **kwargs):
 
     if not filename.lower().endswith('.hdf5'):
         filename += ".hdf5"
-    os.makedirs(os.path.dirname(os.path.abspath(filename)), exist_ok=True)
+    # exist_ok does not exist in Python27
+    if not os.path.exists(os.path.dirname(os.path.abspath(filename))):
+        os.makedirs(os.path.dirname(os.path.abspath(filename)))#, exist_ok=True)
     f = h5py.File(filename, "w")
     try:
         f.attrs["type"] = "General time series data format"
diff --git a/wetb/gtsdf/tests/test_gtsdf.py b/wetb/gtsdf/tests/test_gtsdf.py
index 64a17022298f22c9fd302aff2bcd7996ecba96f8..c70016fd8b2fa7362ce12f1e42f28f8a858ea8f9 100644
--- a/wetb/gtsdf/tests/test_gtsdf.py
+++ b/wetb/gtsdf/tests/test_gtsdf.py
@@ -3,6 +3,14 @@ Created on 12/09/2013
 
 @author: mmpe
 '''
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import absolute_import
+from builtins import super
+from builtins import range
+from future import standard_library
+standard_library.install_aliases()
 
 import h5py
 import numpy as np
diff --git a/wetb/gtsdf/tests/test_unix_time.py b/wetb/gtsdf/tests/test_unix_time.py
index 3a5987ba572f1c10a39b16463a0823997b74c288..e69f281e93883187d568b912d5233d104896e075 100644
--- a/wetb/gtsdf/tests/test_unix_time.py
+++ b/wetb/gtsdf/tests/test_unix_time.py
@@ -3,6 +3,12 @@ Created on 03/12/2015
 
 @author: mmpe
 '''
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 import unittest
 import numpy as np
 import datetime
diff --git a/wetb/gtsdf/unix_time.py b/wetb/gtsdf/unix_time.py
index e01d816ee7ad248c8d04fe6abe3946a1bf6037e9..48c741479da87c7372dfc26ccdbecbf2f9077a17 100644
--- a/wetb/gtsdf/unix_time.py
+++ b/wetb/gtsdf/unix_time.py
@@ -1,3 +1,10 @@
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from builtins import zip
+from future import standard_library
+standard_library.install_aliases()
 from datetime import datetime, date
 import numpy as np
 timestamp0 = datetime.utcfromtimestamp(0)
diff --git a/wetb/hawc2/Hawc2io.py b/wetb/hawc2/Hawc2io.py
index 73242100b95e4f5956756defc5237c5522248f2f..a07fa475fb5e17ba9cc240c1e0b2cbaba625978d 100644
--- a/wetb/hawc2/Hawc2io.py
+++ b/wetb/hawc2/Hawc2io.py
@@ -27,6 +27,17 @@ Need to be done:
     * add error handling for allmost every thing
 
 """
+from __future__ import division
+from __future__ import print_function
+from __future__ import unicode_literals
+from __future__ import absolute_import
+from builtins import int
+from builtins import range
+from builtins import open
+from builtins import str
+from future import standard_library
+standard_library.install_aliases()
+from builtins import object
 import numpy as np
 import os
 ################################################################################
@@ -34,7 +45,7 @@ import os
 ################################################################################
 ## Read HAWC2 class
 ################################################################################
-class ReadHawc2:
+class ReadHawc2(object):
     """
     """
 ################################################################################
diff --git a/wetb/hawc2/__init__.py b/wetb/hawc2/__init__.py
index dc812796118487297af84df1acac5fc862a95560..36c882ec91a0e860bc24554d38838c738e0e249e 100644
--- a/wetb/hawc2/__init__.py
+++ b/wetb/hawc2/__init__.py
@@ -1,3 +1,9 @@
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 d = None
 d = dir()
 
diff --git a/wetb/hawc2/ae_file.py b/wetb/hawc2/ae_file.py
index 1ddad3abaae9fd078262e1820b53eb0f3d5580b5..6d9c81f2cf13f2b918987e5ca4c4526665eb5f64 100644
--- a/wetb/hawc2/ae_file.py
+++ b/wetb/hawc2/ae_file.py
@@ -3,6 +3,15 @@ Created on 24/04/2014
 
 @author: MMPE
 '''
+from __future__ import print_function
+from __future__ import unicode_literals
+from __future__ import division
+from __future__ import absolute_import
+from builtins import open
+from builtins import range
+from builtins import int
+from future import standard_library
+standard_library.install_aliases()
 
 import numpy as np
 
diff --git a/wetb/hawc2/ascii2bin/Example.py b/wetb/hawc2/ascii2bin/Example.py
index 78bdabcf121429dbe66f77c314779ab518e0049d..38785246e1e7a920711ce2ad2fbfdd21ec8378bf 100644
--- a/wetb/hawc2/ascii2bin/Example.py
+++ b/wetb/hawc2/ascii2bin/Example.py
@@ -3,6 +3,12 @@ Created on 06/09/2013
 
 @author: Mads M. Pedersen (mmpe@dtu.dk)
 '''
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 from wetb.hawc2.ascii2bin.ascii2bin import ascii2bin
 
 
diff --git a/wetb/hawc2/ascii2bin/__init__.py b/wetb/hawc2/ascii2bin/__init__.py
index d474090c8dd67a98116add385ccc2c8568d7526d..75704d40d2278f05556a90f31cfd06cb90fc5e5a 100644
--- a/wetb/hawc2/ascii2bin/__init__.py
+++ b/wetb/hawc2/ascii2bin/__init__.py
@@ -1,6 +1,12 @@
 """
 General Time Series Data Format - a HDF5 format for time series
 """
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 
 d = None
 d = dir()
diff --git a/wetb/hawc2/ascii2bin/ascii2bin.py b/wetb/hawc2/ascii2bin/ascii2bin.py
index 400baed3a6177b1c2611291974198b0bb8feb83a..11a09717917ec135e58de913e94dca69ac2d3d8b 100644
--- a/wetb/hawc2/ascii2bin/ascii2bin.py
+++ b/wetb/hawc2/ascii2bin/ascii2bin.py
@@ -1,3 +1,11 @@
+from __future__ import print_function
+from __future__ import unicode_literals
+from __future__ import division
+from __future__ import absolute_import
+from builtins import open
+from builtins import int
+from future import standard_library
+standard_library.install_aliases()
 import sys
 import warnings
 
diff --git a/wetb/hawc2/ascii2bin/make_exe.py b/wetb/hawc2/ascii2bin/make_exe.py
index 6e785db127a563ed04c6b5731f8dc54778be94c7..7e31b83af2c8607331179e01e6b267da5b002daa 100644
--- a/wetb/hawc2/ascii2bin/make_exe.py
+++ b/wetb/hawc2/ascii2bin/make_exe.py
@@ -4,6 +4,8 @@ Created on 06/09/2013
 @author: Mads M. Pedersen (mmpe@dtu.dk)
 '''
 from __future__ import division, print_function, absolute_import, unicode_literals
+from future import standard_library
+standard_library.install_aliases()
 from build_exe.cx.build_cx_exe import NUMPY
 try: range = xrange; xrange = None
 except NameError: pass
diff --git a/wetb/hawc2/ascii2bin/pandas_dat_ascii2bin.py b/wetb/hawc2/ascii2bin/pandas_dat_ascii2bin.py
index f6b29a26158be1e999a273b62aa56be1e75a5956..059d581171e59e61b364bebcf9a412e77401a4c1 100644
--- a/wetb/hawc2/ascii2bin/pandas_dat_ascii2bin.py
+++ b/wetb/hawc2/ascii2bin/pandas_dat_ascii2bin.py
@@ -3,6 +3,13 @@ Created on 10/01/2014
 
 @author: MMPE
 '''
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import absolute_import
+from builtins import open
+from future import standard_library
+standard_library.install_aliases()
 
 import numpy as np
 from pandas import read_csv
diff --git a/wetb/hawc2/ascii2bin/tests/test_ascii2bin.py b/wetb/hawc2/ascii2bin/tests/test_ascii2bin.py
index 433758b3bad67000a06ad54f3bb38a51549cb270..6244b960a2906c3f956d7c8fa803b05dd0487981 100644
--- a/wetb/hawc2/ascii2bin/tests/test_ascii2bin.py
+++ b/wetb/hawc2/ascii2bin/tests/test_ascii2bin.py
@@ -3,6 +3,12 @@ Created on 29/10/2013
 
 @author: mmpe
 '''
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 from wetb.hawc2 import Hawc2io
 import numpy as np
 import os
diff --git a/wetb/hawc2/at_time_file.py b/wetb/hawc2/at_time_file.py
index 68abb64cec88b0a11b5bafd77eebfc03f6d3cf67..bc1bb4f241bec4f4a211d5a239b7f927904aab42 100644
--- a/wetb/hawc2/at_time_file.py
+++ b/wetb/hawc2/at_time_file.py
@@ -3,6 +3,14 @@ Created on 24/04/2014
 
 @author: MMPE
 '''
+from __future__ import print_function
+from __future__ import unicode_literals
+from __future__ import division
+from __future__ import absolute_import
+from builtins import open
+from builtins import range
+from future import standard_library
+standard_library.install_aliases()
 
 import numpy as np
 class AtTimeFile(object):
diff --git a/wetb/hawc2/cmp_test_cases.py b/wetb/hawc2/cmp_test_cases.py
index 9acd5357f8f1dd05555961f160db250c4c72bd8d..b1d4f1a2140d5078104e2e84115d53e0b4567baa 100644
--- a/wetb/hawc2/cmp_test_cases.py
+++ b/wetb/hawc2/cmp_test_cases.py
@@ -1,3 +1,13 @@
+from __future__ import division
+from __future__ import print_function
+from __future__ import unicode_literals
+from __future__ import absolute_import
+from builtins import open
+from builtins import range
+from builtins import str
+from builtins import zip
+from future import standard_library
+standard_library.install_aliases()
 import string
 import shutil
 import numpy as np
diff --git a/wetb/hawc2/htc_contents.py b/wetb/hawc2/htc_contents.py
index 9b86dd6beff8d6e38eb6ba789300e145d2bc52c1..6b76a14af46b0f8772e5b060c0d11299c8ad0ebb 100644
--- a/wetb/hawc2/htc_contents.py
+++ b/wetb/hawc2/htc_contents.py
@@ -6,6 +6,15 @@ Created on 20/01/2014
 See documentation of HTCFile below
 
 '''
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import absolute_import
+from builtins import zip
+from builtins import int
+from builtins import str
+from future import standard_library
+standard_library.install_aliases()
 from collections import OrderedDict
 import collections
 
@@ -18,7 +27,8 @@ class OrderedDict(collections.OrderedDict):
 
 
 def parse_next_line(lines):
-    line, *comments = lines.pop(0).split(";")
+    _3to2list = list(lines.pop(0).split(";"))
+    line, comments, = _3to2list[:1] + [_3to2list[1:]]
     comments = ";".join(comments).rstrip()
     while lines and lines[0].lstrip().startswith(";"):
         comments += "\n%s" % lines.pop(0).rstrip()
@@ -52,7 +62,8 @@ class HTCContents(object):
             return self.contents[args[0]]
 
     def __setattr__(self, *args, **kwargs):
-        k, *v = args
+        _3to2list1 = list(args)
+        k, v, = _3to2list1[:1] + [_3to2list1[1:]]
         if k in dir(self):  # in ['section', 'filename', 'lines']:
             return object.__setattr__(self, *args, **kwargs)
         self.contents[k] = HTCLine(k, v, "")
@@ -163,7 +174,8 @@ class HTCLine(HTCContents):
     def from_lines(lines):
         line, end_comments = parse_next_line(lines)
         if len(line.split()) > 0:
-            name, *values = line.split()
+            _3to2list3 = list(line.split())
+            name, values, = _3to2list3[:1] + [_3to2list3[1:]]
         else:
             name = line
             values = []
@@ -245,7 +257,8 @@ class HTCSensor(HTCLine):
     def from_lines(lines):
         line, comments = parse_next_line(lines)
         if len(line.split()) > 2:
-            type, sensor, *values = line.split()
+            _3to2list5 = list(line.split())
+            type, sensor, values, = _3to2list5[:2] + [_3to2list5[2:]]
         else:
             type, sensor = line.split()
             values = []
diff --git a/wetb/hawc2/htc_file.py b/wetb/hawc2/htc_file.py
index 1bcea1d727a288ec1061b7b0e6a5d52036fcb541..ad5cf45e1cacdb772ea9b6e70f9199d912903f66 100644
--- a/wetb/hawc2/htc_file.py
+++ b/wetb/hawc2/htc_file.py
@@ -6,6 +6,14 @@ Created on 20/01/2014
 See documentation of HTCFile below
 
 '''
+from __future__ import print_function
+from __future__ import unicode_literals
+from __future__ import division
+from __future__ import absolute_import
+from builtins import open
+from builtins import str
+from future import standard_library
+standard_library.install_aliases()
 from collections import OrderedDict
 
 from wetb.hawc2.htc_contents import HTCContents, HTCSection, HTCLine, \
@@ -74,7 +82,9 @@ class HTCFile(HTCContents, HTCDefaults):
             filename = self.filename
         else:
             self.filename = filename
-        os.makedirs(os.path.dirname(filename), exist_ok=True)
+        # exist_ok does not exist in Python27
+        if not os.path.exists():
+            os.makedirs(os.path.dirname(filename))#, exist_ok=True)
         with open(filename, 'w') as fid:
             fid.write(str(self))
 
diff --git a/wetb/hawc2/log_file.py b/wetb/hawc2/log_file.py
index d049610d24551f0bad541fa48e6f45aaef9348ec..d8cde89f98bb058bb549937dbc1b6c6370bf2d9e 100644
--- a/wetb/hawc2/log_file.py
+++ b/wetb/hawc2/log_file.py
@@ -3,6 +3,14 @@ Created on 18/11/2015
 
 @author: MMPE
 '''
+from __future__ import print_function
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import absolute_import
+from builtins import open
+from builtins import int
+from future import standard_library
+standard_library.install_aliases()
 import os
 from wetb.hawc2.htc_file import HTCFile
 from collections import OrderedDict
@@ -59,7 +67,9 @@ class LogFile(object):
     def __str__(self):
         return self.txt
     def clear(self):
-        os.makedirs(os.path.dirname(self.filename), exist_ok=True)
+        # exist_ok does not exist in Python27
+        if not os.path.exists(os.path.dirname(self.filename)):
+            os.makedirs(os.path.dirname(self.filename))#, exist_ok=True)
         with open(self.filename, 'w'):
             pass
         self.reset()
@@ -98,7 +108,8 @@ class LogFile(object):
                 if len(txt.strip()):
                     self.lastline = (txt.strip()[max(0, txt.strip().rfind("\n")):]).strip()
                 if self.status == INITIALIZATION:
-                    init_txt, *rest = txt.split("Starting simulation")
+                    _3to2list = list(txt.split("Starting simulation"))
+                    init_txt, rest, = _3to2list[:1] + [_3to2list[1:]]
                     if self.hawc2version == "Unknown" and "Version ID" in init_txt:
                         self.hawc2version = txt.split("Version ID : ")[1].split("\n", 1)[0].strip()
                     if "*** ERROR ***" in init_txt:
@@ -113,7 +124,8 @@ class LogFile(object):
                         if i1 > -1:
                             self.start_time = (self.extract_time(txt[i1:]), time.time())
 
-                    simulation_txt, *rest = txt.split('Elapsed time')
+                    _3to2list1 = list(txt.split('Elapsed time'))
+                    simulation_txt, rest, = _3to2list1[:1] + [_3to2list1[1:]]
                     if "*** ERROR ***" in simulation_txt:
                         self.errors.extend([l.strip() for l in simulation_txt.strip().split("\n") if "error" in l.lower()])
                     i1 = simulation_txt.rfind("Global time")
diff --git a/wetb/hawc2/pc_file.py b/wetb/hawc2/pc_file.py
index 92ff0d09c7ce98e35ae29b6bb70dbeed5b375044..49893db698c55ff2117995addaae22ae7e9b802a 100644
--- a/wetb/hawc2/pc_file.py
+++ b/wetb/hawc2/pc_file.py
@@ -3,6 +3,15 @@ Created on 24/04/2014
 
 @author: MMPE
 '''
+from __future__ import division
+from __future__ import print_function
+from __future__ import unicode_literals
+from __future__ import absolute_import
+from builtins import open
+from builtins import range
+from builtins import int
+from future import standard_library
+standard_library.install_aliases()
 
 from wetb.hawc2.ae_file import AEFile
 import numpy as np
diff --git a/wetb/hawc2/sel_file.py b/wetb/hawc2/sel_file.py
index f6f0e6ac5a3c77cfff0a55c893ce1c67ca3ce155..a01c0183a505c6dec40ba98fa6775a878f2180cf 100644
--- a/wetb/hawc2/sel_file.py
+++ b/wetb/hawc2/sel_file.py
@@ -1,3 +1,13 @@
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from builtins import open
+from builtins import str
+from builtins import int
+from future import standard_library
+standard_library.install_aliases()
+from builtins import object
 from datetime import datetime
 import os
 import numpy as np
@@ -5,7 +15,7 @@ import numpy as np
 
 BINARY = "BINARY"
 ASCII = "ASCII"
-class SelFile():
+class SelFile(object):
     """Class for reading HAWC2 sel-files
     Attributes
     ----------
diff --git a/wetb/hawc2/shear_file.py b/wetb/hawc2/shear_file.py
index b0e8126233f2102cd0822a71d9d158fac6e5bb81..04a768beb4d20d2832604c2d08f3264aca16c8f0 100644
--- a/wetb/hawc2/shear_file.py
+++ b/wetb/hawc2/shear_file.py
@@ -3,6 +3,14 @@ Created on 24/04/2014
 
 @author: MMPE
 '''
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from builtins import range
+from builtins import open
+from future import standard_library
+standard_library.install_aliases()
 
 import numpy as np
 import os
@@ -43,7 +51,9 @@ def save(filename, y_coordinates, z_coordinates, u=None, v=None, w=None):
 
             assert vuw[i].shape == shape, (i, vuw[i].shape, shape)
 
-    os.makedirs(os.path.dirname(filename), exist_ok=True)
+    # exist_ok does not exist in Python27
+    if not os.path.exists(os.path.dirname(filename)):
+        os.makedirs(os.path.dirname(filename))#, exist_ok=True)
     with open(filename, 'w') as fid:
         fid.write(" # autogenerated shear file\n")
         fid.write("  %d %d\n" % (len(y_coordinates), len(z_coordinates)))
diff --git a/wetb/hawc2/simulation.py b/wetb/hawc2/simulation.py
index 3afc961cef9386930aeedbe95ec78a3a41b9bb4c..f4d38e7003da64372460d12e266db75c2720d8ba 100644
--- a/wetb/hawc2/simulation.py
+++ b/wetb/hawc2/simulation.py
@@ -1,3 +1,11 @@
+from __future__ import print_function
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import absolute_import
+from builtins import open
+from builtins import str
+from future import standard_library
+standard_library.install_aliases()
 import os
 from wetb.hawc2.htc_file import HTCFile
 from wetb.hawc2.log_file import LogFile
@@ -130,7 +138,9 @@ class Simulation(object):
                 src = os.path.join(self.modelpath, src)
             for src_file in glob.glob(src):
                 dst = os.path.join(self.tmp_modelpath, os.path.relpath(src_file, self.modelpath))
-                os.makedirs(os.path.dirname(dst), exist_ok=True)
+                # exist_ok does not exist in Python27
+                if not os.path.exists(os.path.dirname(dst)):
+                    os.makedirs(os.path.dirname(dst))#, exist_ok=True)
                 shutil.copy(src_file, dst)
                 if not os.path.isfile(dst) or os.stat(dst).st_size != os.stat(src_file).st_size:
                     print ("error copy ", dst)
@@ -161,7 +171,9 @@ class Simulation(object):
 
             for src_file in glob.glob(src):
                 dst_file = os.path.join(self.modelpath, os.path.relpath(src_file, self.tmp_modelpath))
-                os.makedirs(os.path.dirname(dst_file), exist_ok=True)
+                # exist_ok does not exist in Python27
+                if not os.path.exists(os.path.dirname(dst_file)):
+                    os.makedirs(os.path.dirname(dst_file))#, exist_ok=True)
                 if not os.path.isfile(dst_file) or os.path.getmtime(dst_file) != os.path.getmtime(src_file):
                     shutil.copy(src_file, dst_file)
 
diff --git a/wetb/hawc2/tests/test_AtTimeFile.py b/wetb/hawc2/tests/test_AtTimeFile.py
index 77943ee72b027b17e626bab0f22639f4c24814bc..8f1fae91612b54c5e0cec78a7308a3ddf95f46f7 100644
--- a/wetb/hawc2/tests/test_AtTimeFile.py
+++ b/wetb/hawc2/tests/test_AtTimeFile.py
@@ -3,6 +3,12 @@ Created on 17/07/2014
 
 @author: MMPE
 '''
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 import unittest
 from wetb.hawc2.at_time_file import AtTimeFile
 import numpy as np
diff --git a/wetb/hawc2/tests/test_ae_file.py b/wetb/hawc2/tests/test_ae_file.py
index 2dc82ae9776434fff0bce04875a6a39716a2146c..4e57189110f99d4f914a352f9805d32971532b73 100644
--- a/wetb/hawc2/tests/test_ae_file.py
+++ b/wetb/hawc2/tests/test_ae_file.py
@@ -3,6 +3,12 @@ Created on 05/11/2015
 
 @author: MMPE
 '''
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 import unittest
 from wetb.hawc2.ae_file import AEFile
 import os
diff --git a/wetb/hawc2/tests/test_compare_test_cases.py b/wetb/hawc2/tests/test_compare_test_cases.py
index 798f70cce5a54b221efd7465759a1f588388d6ae..a22bc789d4be5a8c73eb88c1f07f76a47f6aa911 100644
--- a/wetb/hawc2/tests/test_compare_test_cases.py
+++ b/wetb/hawc2/tests/test_compare_test_cases.py
@@ -3,6 +3,12 @@ Created on 17/07/2014
 
 @author: MMPE
 '''
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 import unittest
 from wetb.hawc2.cmp_test_cases import CompareTestCases
 import numpy as np
diff --git a/wetb/hawc2/tests/test_hawc2io.py b/wetb/hawc2/tests/test_hawc2io.py
index f8e0b09c57989db2e5e55b6acc1346001b6b0980..4d83a2e6b4279361221274eca3f9492da3e8802f 100644
--- a/wetb/hawc2/tests/test_hawc2io.py
+++ b/wetb/hawc2/tests/test_hawc2io.py
@@ -3,6 +3,12 @@ Created on 05/11/2015
 
 @author: MMPE
 '''
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 import unittest
 import numpy as np
 from wetb.hawc2.Hawc2io import ReadHawc2
diff --git a/wetb/hawc2/tests/test_htc_file.py b/wetb/hawc2/tests/test_htc_file.py
index 7827b1ed81a0158558fad991c2065ae4cc335c5c..d12ddae628259dbd5abb4c20934fd2448c127130 100644
--- a/wetb/hawc2/tests/test_htc_file.py
+++ b/wetb/hawc2/tests/test_htc_file.py
@@ -3,6 +3,15 @@ Created on 17/07/2014
 
 @author: MMPE
 '''
+from __future__ import print_function
+from __future__ import unicode_literals
+from __future__ import division
+from __future__ import absolute_import
+from builtins import open
+from builtins import str
+from builtins import zip
+from future import standard_library
+standard_library.install_aliases()
 import os
 import unittest
 
diff --git a/wetb/hawc2/tests/test_logfile.py b/wetb/hawc2/tests/test_logfile.py
index 170f83e085e36577d107015b42358c6daef03260..1760c98bb336502d7c470b3783a6b2caecd65fc8 100644
--- a/wetb/hawc2/tests/test_logfile.py
+++ b/wetb/hawc2/tests/test_logfile.py
@@ -3,6 +3,13 @@ Created on 18/11/2015
 
 @author: MMPE
 '''
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from builtins import open
+from future import standard_library
+standard_library.install_aliases()
 import unittest
 from wetb.hawc2.log_file import LogFile, \
     INITIALIZATION, SIMULATING, DONE, PENDING
diff --git a/wetb/hawc2/tests/test_pc_file.py b/wetb/hawc2/tests/test_pc_file.py
index aeaaa5e371e5b1555ee6abb348b10c3ccaa77cc7..e5a7027925477f7341190ea7a0c626cca1b74a5a 100644
--- a/wetb/hawc2/tests/test_pc_file.py
+++ b/wetb/hawc2/tests/test_pc_file.py
@@ -3,6 +3,12 @@ Created on 17/07/2014
 
 @author: MMPE
 '''
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 import os
 import unittest
 from wetb.hawc2.pc_file import PCFile
diff --git a/wetb/hawc2/tests/test_sel_file.py b/wetb/hawc2/tests/test_sel_file.py
index f6e1b51f6084dba41fb76c672cc947cfba1adf80..d7593ae78e0241b7caf242d3313ba8161866a893 100644
--- a/wetb/hawc2/tests/test_sel_file.py
+++ b/wetb/hawc2/tests/test_sel_file.py
@@ -3,6 +3,12 @@ Created on 17/07/2014
 
 @author: MMPE
 '''
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 import unittest
 from wetb.hawc2.sel_file import SelFile, BINARY, ASCII
 from datetime import datetime
diff --git a/wetb/hawc2/tests/test_shear_file.py b/wetb/hawc2/tests/test_shear_file.py
index 19f307ae8f5bb0533cd010c36b8486da56f89a38..3418f98580441f053c6444d8d2aab346620f127e 100644
--- a/wetb/hawc2/tests/test_shear_file.py
+++ b/wetb/hawc2/tests/test_shear_file.py
@@ -3,6 +3,13 @@ Created on 05/11/2015
 
 @author: MMPE
 '''
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from builtins import open
+from future import standard_library
+standard_library.install_aliases()
 import unittest
 from wetb.hawc2 import shear_file
 import numpy as np
diff --git a/wetb/prepost/DataChecks.py b/wetb/prepost/DataChecks.py
index e241210d8db78a01d60e107e69cc513c7c1b5163..58dd4732a3ceb702d55190455c99d586016693fd 100644
--- a/wetb/prepost/DataChecks.py
+++ b/wetb/prepost/DataChecks.py
@@ -4,6 +4,12 @@ Created on Mon Mar  5 16:00:02 2012
 
 @author: dave
 """
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 
 
 
diff --git a/wetb/prepost/Simulations.py b/wetb/prepost/Simulations.py
index 5847a5a50fec0ce03c3bf1e790748e1013c71616..5d5b2a0320623aefec3476e433f5f247bc069ab9 100755
--- a/wetb/prepost/Simulations.py
+++ b/wetb/prepost/Simulations.py
@@ -6,6 +6,19 @@ Created on Tue Nov  1 15:16:34 2011
 __author__ = "David Verelst <dave@dtu.dk>"
 __license__ = "GPL-2+"
 """
+from __future__ import print_function
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import absolute_import
+from builtins import dict
+from builtins import open
+from builtins import zip
+from builtins import range
+from builtins import str
+from builtins import int
+from future import standard_library
+standard_library.install_aliases()
+from builtins import object
 
 
 
@@ -1201,7 +1214,7 @@ def logcheck_case(errorlogs, cases, case, silent=False):
     #errorlogs.save()
 
 
-class Log:
+class Log(object):
     """
     Class for convinient logging. Create an instance and add lines to the
     logfile as a list with the function add.
@@ -1237,7 +1250,7 @@ class Log:
         for k in self.log:
             print(k)
 
-class HtcMaster:
+class HtcMaster(object):
     """
     """
 
@@ -1828,7 +1841,7 @@ class HtcMaster:
                 self.tags[key] = self.tags[key].lower()
 
 
-class PBS:
+class PBS(object):
     """
     The part where the actual pbs script is writtin in this class (functions
     create(), starting() and ending() ) is based on the MS Excel macro
@@ -2452,7 +2465,7 @@ class PBS:
 # TODO: rewrite the error log analysis to something better. Take different
 # approach: start from the case and see if the results are present. Than we
 # also have the tags_dict available when log-checking a certain case
-class ErrorLogs:
+class ErrorLogs(object):
     """
     Analyse all HAWC2 log files in any given directory
     ==================================================
@@ -2836,12 +2849,12 @@ class ErrorLogs:
             f.write(contents)
 
 
-class ModelData:
+class ModelData(object):
     """
     Second generation ModelData function. The HawcPy version is crappy, buggy
     and not mutch of use in the optimisation context.
     """
-    class st_headers:
+    class st_headers(object):
         """
         Indices to the respective parameters in the HAWC2 st data file
         """
@@ -3261,7 +3274,7 @@ class WeibullParameters(object):
 
 # FIXME: Cases has a memory leek somewhere, this whole thing needs to be
 # reconsidered and rely on a DataFrame instead of a dict!
-class Cases:
+class Cases(object):
     """
     Class for the old htc_dict
     ==========================
@@ -4947,7 +4960,7 @@ class Cases:
         h5f.close()
 
 
-class EnvelopeClass:
+class EnvelopeClass(object):
     """
     Class with the definition of the table for the envelope results
     """
@@ -4962,7 +4975,7 @@ class EnvelopeClass:
 
 
 # TODO: implement this
-class Results():
+class Results(object):
     """
     Move all Hawc2io to here? NO: this should be the wrapper, to interface
     the htc_dict with the io functions
diff --git a/wetb/prepost/dlcdefs.py b/wetb/prepost/dlcdefs.py
index 8627cb1f17af71a2e9a3f27687d44a7fe9b924e7..21dd670070e012023e77d73ea45e43cb2f019198 100644
--- a/wetb/prepost/dlcdefs.py
+++ b/wetb/prepost/dlcdefs.py
@@ -4,6 +4,13 @@ Created on Wed Nov  5 14:01:25 2014
 
 @author: dave
 """
+from __future__ import print_function
+from __future__ import unicode_literals
+from __future__ import division
+from __future__ import absolute_import
+from builtins import str
+from future import standard_library
+standard_library.install_aliases()
 
 
 
diff --git a/wetb/prepost/dlcplots.py b/wetb/prepost/dlcplots.py
index 880d5ae50db29f4710039d150e1281d72325cd72..1d5b3e12fd6703793139c665d6b62281b9cb694e 100644
--- a/wetb/prepost/dlcplots.py
+++ b/wetb/prepost/dlcplots.py
@@ -4,6 +4,13 @@ Created on Tue Sep 16 10:21:11 2014
 
 @author: dave
 """
+from __future__ import print_function
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import absolute_import
+from builtins import str
+from future import standard_library
+standard_library.install_aliases()
 
 
 
diff --git a/wetb/prepost/dlctemplate.py b/wetb/prepost/dlctemplate.py
index 47d795b78f67a21b3e4d36207ca9d2b37ae96445..39d1b00a850dfd6b11ce3bb95c3ba5a39732c572 100755
--- a/wetb/prepost/dlctemplate.py
+++ b/wetb/prepost/dlctemplate.py
@@ -4,6 +4,15 @@ Created on Thu Sep 18 13:00:25 2014
 
 @author: dave
 """
+from __future__ import print_function
+from __future__ import unicode_literals
+from __future__ import division
+from __future__ import absolute_import
+from builtins import dict
+from builtins import str
+from builtins import range
+from future import standard_library
+standard_library.install_aliases()
 
 
 
diff --git a/wetb/prepost/filters.py b/wetb/prepost/filters.py
index 760ffe27fcbe5964d901b1875bc295b0d36f35c5..22f6fd6cd33c92da67b8e1c3395ad3c5a4c5f6fb 100644
--- a/wetb/prepost/filters.py
+++ b/wetb/prepost/filters.py
@@ -4,6 +4,13 @@ Created on Sun Jan 20 18:14:02 2013
 
 @author: dave
 """
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
+from builtins import object
 
 
 
@@ -16,7 +23,7 @@ from wetb.prepost.misc import calc_sample_rate
 from wetb.prepost import mplutils
 
 
-class Filters:
+class Filters(object):
 
     def __init__(self):
         pass
diff --git a/wetb/prepost/h2_vs_hs2.py b/wetb/prepost/h2_vs_hs2.py
index 752bca8a3ad0d4501cf8762b2f5ec0a165cbd4c9..f0d1f1498fe0952002460d9ccfb813d2464320bb 100644
--- a/wetb/prepost/h2_vs_hs2.py
+++ b/wetb/prepost/h2_vs_hs2.py
@@ -4,6 +4,18 @@ Created on Mon Nov  2 15:23:15 2015
 
 @author: dave
 """
+from __future__ import division
+from __future__ import print_function
+from __future__ import unicode_literals
+from __future__ import absolute_import
+from builtins import range
+from builtins import zip
+from builtins import dict
+from builtins import str
+from builtins import int
+from future import standard_library
+standard_library.install_aliases()
+from builtins import object
 
 import os
 
@@ -18,7 +30,7 @@ from wetb.prepost import hawcstab2 as hs2
 from wetb.prepost import mplutils
 
 
-class ConfigBase:
+class ConfigBase(object):
 
     def __init__(self):
         pass
diff --git a/wetb/prepost/hawcstab2.py b/wetb/prepost/hawcstab2.py
index c1afefe01620cb758e7bcbe7ad1f777b59936e78..5597f2c104548bb3bf1996695d74f38cefb5a71a 100644
--- a/wetb/prepost/hawcstab2.py
+++ b/wetb/prepost/hawcstab2.py
@@ -4,6 +4,16 @@ Created on Tue Jan 14 14:12:58 2014
 
 @author: dave
 """
+from __future__ import division
+from __future__ import print_function
+from __future__ import unicode_literals
+from __future__ import absolute_import
+from builtins import range
+from builtins import open
+from builtins import int
+from future import standard_library
+standard_library.install_aliases()
+from builtins import object
 
 
 
@@ -17,7 +27,7 @@ import pandas as pd
 from wetb.prepost import mplutils
 
 
-class dummy:
+class dummy(object):
     def __init__(self):
         pass
 
diff --git a/wetb/prepost/misc.py b/wetb/prepost/misc.py
index 0c7bd3bbe808b3cc30fae5cd4682686423ac407f..965c24b7a26005dcc3ac87447fe9c2a6ecb7f9c3 100644
--- a/wetb/prepost/misc.py
+++ b/wetb/prepost/misc.py
@@ -6,6 +6,18 @@ Library for general stuff
 
 @author: dave
 """
+from __future__ import print_function
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import absolute_import
+from builtins import range
+from builtins import dict
+from builtins import int
+from builtins import open
+from builtins import str
+from future import standard_library
+standard_library.install_aliases()
+from builtins import object
 
 
 
@@ -27,7 +39,7 @@ from matplotlib import pyplot as plt
 import pandas as pd
 
 
-class Logger:
+class Logger(object):
     """The Logger class can be used to redirect standard output to a log file.
     Usage: Create a Logger object and redirect standard output to the Logger
     object.  For example:
diff --git a/wetb/prepost/mplutils.py b/wetb/prepost/mplutils.py
index e77b0b0509e6beff82b736df374d19fb25875bc4..b8ca174a3a72b42fab45c9ee6b5030dfa0931349 100644
--- a/wetb/prepost/mplutils.py
+++ b/wetb/prepost/mplutils.py
@@ -4,6 +4,16 @@ Created on Wed Nov 23 11:22:50 2011
 
 @author: dave
 """
+from __future__ import division
+from __future__ import print_function
+from __future__ import unicode_literals
+from __future__ import absolute_import
+from builtins import range
+from builtins import int
+from builtins import dict
+from builtins import round
+from future import standard_library
+standard_library.install_aliases()
 
 
 
diff --git a/wetb/prepost/prepost.py b/wetb/prepost/prepost.py
index 0aa94dd5e08c1cee966824a5170ef7c65a1d60d7..44898d13f894f046e64c86efeb97e850f9a16443 100644
--- a/wetb/prepost/prepost.py
+++ b/wetb/prepost/prepost.py
@@ -4,6 +4,13 @@ Created on Tue Mar 10 18:47:32 2015
 
 @author: dave
 """
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from builtins import open
+from future import standard_library
+standard_library.install_aliases()
 
 
 
diff --git a/wetb/prepost/windIO.py b/wetb/prepost/windIO.py
index 162e220adb8d1315e5444461d75c2db94a085eb9..b166e14d2fed9850309691bbcc5697ea7d1d9614 100755
--- a/wetb/prepost/windIO.py
+++ b/wetb/prepost/windIO.py
@@ -4,6 +4,18 @@ Created on Thu Apr  3 19:53:59 2014
 
 @author: dave
 """
+from __future__ import print_function
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import absolute_import
+from builtins import dict
+from builtins import open
+from builtins import range
+from builtins import str
+from builtins import int
+from future import standard_library
+standard_library.install_aliases()
+from builtins import object
 
  # always devide as floats
 
@@ -39,7 +51,7 @@ from wetb.fatigue_tools.rainflowcounting.rainflowcount import rainflow_astm as r
 from wetb.fatigue_tools.rainflowcounting.rfc_hist import rfc_hist as rfc_hist
 
 
-class LoadResults:
+class LoadResults(object):
     """Read a HAWC2 result data file
 
     Usage:
@@ -1275,7 +1287,7 @@ def ReadEigenStructure(file_path, file_name, debug=False, max_modes=500):
     return modes_arr
 
 
-class UserWind:
+class UserWind(object):
     """
     """
 
@@ -1533,7 +1545,7 @@ class UserWind:
             np.savetxt(f, w_coord.reshape((w_coord.size,1)), fmt='% 8.02f')
 
 
-class WindProfiles:
+class WindProfiles(object):
 
     def __init__(self):
         pass
@@ -1588,7 +1600,7 @@ class WindProfiles:
         return a_phi * t1 * t2 * t3
 
 
-class Turbulence:
+class Turbulence(object):
 
     def __init__(self):
 
diff --git a/wetb/utils/caching.py b/wetb/utils/caching.py
index 184825ede0a2fd20bb3714856223ad96ac595647..6f5df273165e5ffd56b539017b239165b8265796 100644
--- a/wetb/utils/caching.py
+++ b/wetb/utils/caching.py
@@ -3,6 +3,12 @@ Created on 07/02/2014
 
 @author: MMPE
 '''
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 import inspect
 
 def set_cache_property(obj, name, get_func, set_func=None):
diff --git a/wetb/utils/cython_compile/__init__.py b/wetb/utils/cython_compile/__init__.py
index 8d7b1d75f5bd28e05d322f0edf4abec2c514ea6b..7db504d7fb31152836d8c88fcbc87882dff54f60 100644
--- a/wetb/utils/cython_compile/__init__.py
+++ b/wetb/utils/cython_compile/__init__.py
@@ -1,3 +1,9 @@
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 d = None;d = dir()
 
 from .cython_compile import cython_compile, cython_import, cython_compile_autodeclare, is_compiled
diff --git a/wetb/utils/cython_compile/cython_compile.py b/wetb/utils/cython_compile/cython_compile.py
index 41ccc881acaa4b24814acd5823224546a5f2d325..02213aee94cbdb50211d595a9a501def2955fad9 100644
--- a/wetb/utils/cython_compile/cython_compile.py
+++ b/wetb/utils/cython_compile/cython_compile.py
@@ -7,6 +7,16 @@ Created on 10/07/2013
 Wrapper functions and decorators for compiling functions using Cython
 
 '''
+from __future__ import print_function
+from __future__ import unicode_literals
+from __future__ import division
+from __future__ import absolute_import
+from builtins import dict
+from builtins import open
+from builtins import zip
+from builtins import str
+from future import standard_library
+standard_library.install_aliases()
 import inspect
 import os
 import re
diff --git a/wetb/utils/cython_compile/examples/cycheck.py b/wetb/utils/cython_compile/examples/cycheck.py
index b3979a91d8d4bd8c9578b074ae0c6b65b49e8921..602cbf3521261a1565a51dc443890686665cb60c 100644
--- a/wetb/utils/cython_compile/examples/cycheck.py
+++ b/wetb/utils/cython_compile/examples/cycheck.py
@@ -3,6 +3,14 @@ Created on 29/03/2013
 
 @author: Mads
 '''
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from builtins import range
+from builtins import int
+from future import standard_library
+standard_library.install_aliases()
 import cython
 import math
 
diff --git a/wetb/utils/cython_compile/examples/examples.py b/wetb/utils/cython_compile/examples/examples.py
index 037482dd07935ff014c8d287e6292dfa8c69e4aa..14f794fe31c4866f8f8597e2ace752e2322c8c74 100644
--- a/wetb/utils/cython_compile/examples/examples.py
+++ b/wetb/utils/cython_compile/examples/examples.py
@@ -3,6 +3,14 @@ Created on 11/07/2013
 
 @author: Mads M. Pedersen (mmpe@dtu.dk)
 '''
+from __future__ import print_function
+from __future__ import unicode_literals
+from __future__ import division
+from __future__ import absolute_import
+from builtins import range
+from builtins import int
+from future import standard_library
+standard_library.install_aliases()
 import math
 
 from wetb.utils.cython_compile.cython_compile import cython_compile, \
diff --git a/wetb/utils/geometry.py b/wetb/utils/geometry.py
index 586ad401e0b514fa234d33c11424700ec1497141..01a4daf6e0cbac576dbc95711ab7205957b9a8eb 100644
--- a/wetb/utils/geometry.py
+++ b/wetb/utils/geometry.py
@@ -1,3 +1,10 @@
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import absolute_import
+from builtins import map
+from future import standard_library
+standard_library.install_aliases()
 import numpy as np
 
 def rad(deg):
diff --git a/wetb/utils/process_exec.py b/wetb/utils/process_exec.py
index caeb49750b88a33e96961aec34bef5eacc9f6c7f..04dfa697dc683f49c31b862a50df8cdf828b1f7e 100644
--- a/wetb/utils/process_exec.py
+++ b/wetb/utils/process_exec.py
@@ -3,6 +3,14 @@ Created on 10/03/2014
 
 @author: MMPE
 '''
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from builtins import range
+from builtins import str
+from future import standard_library
+standard_library.install_aliases()
 
 import os
 import psutil
diff --git a/wetb/utils/tests/test_caching.py b/wetb/utils/tests/test_caching.py
index d17dd925253688cbe789811616a36e63e0263bfd..5ffa33f2d719d9c41bf7dcebf79b069573ec4dd1 100644
--- a/wetb/utils/tests/test_caching.py
+++ b/wetb/utils/tests/test_caching.py
@@ -3,6 +3,12 @@ Created on 08/11/2013
 
 @author: mmpe
 '''
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 import multiprocessing
 import time
 import unittest
diff --git a/wetb/utils/tests/test_geometry.py b/wetb/utils/tests/test_geometry.py
index d5b0a2be4fb671fa2502ccf012d551c7a4b691eb..291864c108a2819e279be9c787e92899305241f2 100644
--- a/wetb/utils/tests/test_geometry.py
+++ b/wetb/utils/tests/test_geometry.py
@@ -3,6 +3,12 @@ Created on 15/01/2014
 
 @author: MMPE
 '''
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 import unittest
 
 import wetb.gtsdf
diff --git a/wetb/utils/timing.py b/wetb/utils/timing.py
index ab67d8b1c7ec18a9899fd30a07656b894efa0f31..7e148cb8df5a70c4bf84784cae02548a726e749c 100644
--- a/wetb/utils/timing.py
+++ b/wetb/utils/timing.py
@@ -1,3 +1,11 @@
+from __future__ import print_function
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import absolute_import
+from builtins import dict
+from builtins import zip
+from future import standard_library
+standard_library.install_aliases()
 from six import exec_
 import time
 import inspect
diff --git a/wetb/wind/shear.py b/wetb/wind/shear.py
index fb832a2559edfbd099e1524f34f77a3252b593d9..77e70135fcd42753b2b0f304e9ef85d1ef86224d 100644
--- a/wetb/wind/shear.py
+++ b/wetb/wind/shear.py
@@ -3,6 +3,12 @@ Created on 16/06/2014
 
 @author: MMPE
 '''
+from __future__ import division
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import absolute_import
+from future import standard_library
+standard_library.install_aliases()
 
 from scipy.optimize.optimize import fmin
 import numpy as np
diff --git a/wetb/wind/tests/test_Shear.py b/wetb/wind/tests/test_Shear.py
index 981d4ac61c6c3c94983237ef230d31dea6fd749b..af1f6f0a539395b97053cddd7b11f94ce86aef71 100644
--- a/wetb/wind/tests/test_Shear.py
+++ b/wetb/wind/tests/test_Shear.py
@@ -3,6 +3,13 @@ Created on 05/06/2012
 
 @author: Mads
 '''
+from __future__ import unicode_literals
+from __future__ import print_function
+from __future__ import division
+from __future__ import absolute_import
+from builtins import zip
+from future import standard_library
+standard_library.install_aliases()
 import os
 from wetb.utils.geometry import xyz2uvw
 import wetb.gtsdf