By Lorenzo Felletti
This model was kindly provided by Lorenzo Felletti.
Source code available at GitHub.