https://ieeexplore.ieee.org/document/4812104 https://gist.github.com/pkofod/c6f0dc28588e1d65b521ba785405aff2