Code running on python 2.7
 - more readable
 - use SI units as soon as possible
 - split in more function to help unit testing