diff --git a/wetb/prepost/windIO.py b/wetb/prepost/windIO.py
index 92aacaaf0a5882603f514b5ab78421ff9da65420..8f7d0dc5c0a50bd0f7ef5b4a52544ec7ff94a5a1 100755
--- a/wetb/prepost/windIO.py
+++ b/wetb/prepost/windIO.py
@@ -14,17 +14,8 @@ 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
-
-#print(*objects, sep=' ', end='\n', file=sys.stdout)
-
-__author__ = 'David Verelst'
-__license__ = 'GPL'
-__version__ = '0.5'
-
 import os
 import copy
 import unittest
@@ -40,17 +31,20 @@ import array
 import numpy as np
 import pandas as pd
 
-#import sympy
-
 # misc is part of prepost, which is available on the dtu wind gitlab server:
 # https://gitlab.windenergy.dtu.dk/dave/prepost
 from wetb.prepost import misc
 # wind energy python toolbox, available on the dtu wind redmine server:
 # http://vind-redmine.win.dtu.dk/projects/pythontoolbox/repository/show/fatigue_tools
-from wetb.fatigue_tools.rainflowcounting.rainflowcount import rainflow_astm as rainflow_astm
-from wetb.fatigue_tools.rainflowcounting.rfc_hist import rfc_hist as rfc_hist
 from wetb.hawc2.Hawc2io import ReadHawc2
-from wetb.fatigue_tools import fatigue
+from wetb.fatigue_tools.fatigue import eq_load
+
+standard_library.install_aliases()
+
+
+__author__ = 'David Verelst'
+__license__ = 'GPL'
+__version__ = '0.5'
 
 
 class LoadResults(ReadHawc2):
@@ -130,7 +124,7 @@ class LoadResults(ReadHawc2):
 
         self.file_path = file_path
         # remove .log, .dat, .sel extensions who might be accedental left
-        if file_name[-4:] in ['.htc','.sel','.dat','.log']:
+        if file_name[-4:] in ['.htc', '.sel', '.dat', '.log']:
             file_name = file_name[:-4]
         # FIXME: since HAWC2 will always have lower case output files, convert
         # any wrongly used upper case letters to lower case here
@@ -146,7 +140,6 @@ class LoadResults(ReadHawc2):
             stop = time() - start
             print('time to load HAWC2 file:', stop, 's')
 
-
     def reformat_sig_details(self):
         """Change HAWC2 output description of the channels short descriptive
         strings, usable in plots
@@ -156,7 +149,7 @@ class LoadResults(ReadHawc2):
 
         # CONFIGURATION: mappings between HAWC2 and short good output:
         change_list = []
-        change_list.append( ['original','new improved'] )
+        change_list.append( ['original', 'new improved'] )
 
 #        change_list.append( ['Mx coo: hub1','blade1 root bending: flap'] )
 #        change_list.append( ['My coo: hub1','blade1 root bending: edge'] )
@@ -170,41 +163,41 @@ class LoadResults(ReadHawc2):
 #        change_list.append( ['My coo: hub3','blade3 root bending: edge'] )
 #        change_list.append( ['Mz coo: hub3','blade3 root bending: torsion'] )
 
-        change_list.append( ['Mx coo: blade1','blade1 flap'] )
-        change_list.append( ['My coo: blade1','blade1 edge'] )
-        change_list.append( ['Mz coo: blade1','blade1 torsion'] )
+        change_list.append(['Mx coo: blade1', 'blade1 flap'])
+        change_list.append(['My coo: blade1', 'blade1 edge'])
+        change_list.append(['Mz coo: blade1', 'blade1 torsion'])
 
-        change_list.append( ['Mx coo: blade2','blade2 flap'] )
-        change_list.append( ['My coo: blade2','blade2 edge'] )
-        change_list.append( ['Mz coo: blade2','blade2 torsion'] )
+        change_list.append(['Mx coo: blade2', 'blade2 flap'])
+        change_list.append(['My coo: blade2', 'blade2 edge'])
+        change_list.append(['Mz coo: blade2', 'blade2 torsion'])
 
-        change_list.append( ['Mx coo: blade3','blade3 flap'] )
-        change_list.append( ['My coo: blade3','blade3 edeg'] )
-        change_list.append( ['Mz coo: blade3','blade3 torsion'] )
+        change_list.append(['Mx coo: blade3', 'blade3 flap'])
+        change_list.append(['My coo: blade3', 'blade3 edeg'])
+        change_list.append(['Mz coo: blade3', 'blade3 torsion'])
 
-        change_list.append( ['Mx coo: hub1','blade1 out-of-plane'] )
-        change_list.append( ['My coo: hub1','blade1 in-plane'] )
-        change_list.append( ['Mz coo: hub1','blade1 torsion'] )
+        change_list.append(['Mx coo: hub1', 'blade1 out-of-plane'])
+        change_list.append(['My coo: hub1', 'blade1 in-plane'])
+        change_list.append(['Mz coo: hub1', 'blade1 torsion'])
 
-        change_list.append( ['Mx coo: hub2','blade2 out-of-plane'] )
-        change_list.append( ['My coo: hub2','blade2 in-plane'] )
-        change_list.append( ['Mz coo: hub2','blade2 torsion'] )
+        change_list.append(['Mx coo: hub2', 'blade2 out-of-plane'])
+        change_list.append(['My coo: hub2', 'blade2 in-plane'])
+        change_list.append(['Mz coo: hub2', 'blade2 torsion'])
 
-        change_list.append( ['Mx coo: hub3','blade3 out-of-plane'] )
-        change_list.append( ['My coo: hub3','blade3 in-plane'] )
-        change_list.append( ['Mz coo: hub3','blade3 torsion'] )
+        change_list.append(['Mx coo: hub3', 'blade3 out-of-plane'])
+        change_list.append(['My coo: hub3', 'blade3 in-plane'])
+        change_list.append(['Mz coo: hub3', 'blade3 torsion'])
         # this one will create a false positive for tower node nr1
-        change_list.append( ['Mx coo: tower','tower top momemt FA'] )
-        change_list.append( ['My coo: tower','tower top momemt SS'] )
-        change_list.append( ['Mz coo: tower','yaw-moment'] )
+        change_list.append(['Mx coo: tower', 'tower top momemt FA'])
+        change_list.append(['My coo: tower', 'tower top momemt SS'])
+        change_list.append(['Mz coo: tower', 'yaw-moment'])
 
-        change_list.append( ['Mx coo: chasis','chasis momemt FA'] )
-        change_list.append( ['My coo: chasis','yaw-moment chasis'] )
-        change_list.append( ['Mz coo: chasis','chasis moment SS'] )
+        change_list.append(['Mx coo: chasis', 'chasis momemt FA'])
+        change_list.append(['My coo: chasis', 'yaw-moment chasis'])
+        change_list.append(['Mz coo: chasis', 'chasis moment SS'])
 
-        change_list.append( ['DLL inp  2:  2','tower clearance'] )
+        change_list.append( ['DLL inp  2:  2','tower clearance'])
 
-        self.ch_details_new = np.ndarray(shape=(self.Nch,3),dtype='<U100')
+        self.ch_details_new = np.ndarray(shape=(self.Nch, 3), dtype='<U100')
 
         # approach: look for a specific description and change it.
         # This approach is slow, but will not fail if the channel numbers change
@@ -839,45 +832,7 @@ class LoadResults(ReadHawc2):
             Damage equivalent loads for each m value.
         """
 
-        try:
-            sig_rf = rainflow_astm(signal)
-        except (TypeError) as e:
-            print(e)
-            return []
-
-        if len(sig_rf) < 1 and not sig_rf:
-            return []
-
-        hist_data, x, bin_avg =  rfc_hist(sig_rf, no_bins)
-        m = np.atleast_1d(m)
-
-        eq = []
-        for i in range(len(m)):
-            eq.append(np.power(np.sum(0.5 * hist_data *\
-                                    np.power(bin_avg, m[i])) / neq, 1. / m[i]))
-        return eq
-
-    # TODO: general signal method, this is not HAWC2 specific, move out
-    def cycle_matrix(self, signal, no_bins=46, m=[3, 4, 6, 8, 10, 12]):
-
-#        import fatigue_tools.fatigue as ft
-#        cycles, ampl_bin_mean, ampl_bin_edges, mean_bin_mean, mean_edges \
-#            = ft.cycle_matrix(signal, ampl_bins=no_bins, mean_bins=1,
-#                              rainflow_func=ft.rainflow_windap)
-#        # in this case eq = sum( n_i*S_i^m )
-#        return [np.sum(cycles * ampl_bin_mean ** _m) for _m in m]
-
-        try:
-            sig_rf = rainflow_astm(signal)
-        except:
-            return []
-
-        if len(sig_rf) < 1 and not sig_rf:
-            return []
-
-        hist_data, x, bin_avg =  rfc_hist(sig_rf, no_bins)
-        m = np.atleast_1d(m)
-        return [np.sum(0.5 * hist_data * bin_avg ** _m) for _m in m]
+        return eq_load(signal, no_bins=no_bins, m=m, neq=neq)[0]
 
     def blade_deflection(self):
         """
@@ -886,7 +841,7 @@ class LoadResults(ReadHawc2):
         # select all the y deflection channels
         db = misc.DictDB(self.ch_dict)
 
-        db.search({'sensortype' : 'state pos', 'component' : 'z'})
+        db.search({'sensortype': 'state pos', 'component': 'z'})
         # sort the keys and save the mean values to an array/list
         chiz, zvals = [], []
         for key in sorted(db.dict_sel.keys()):