LGTM
I will fix flake8 test and merge.
rebased onto 70b3c49bb9ddb8b8cec3c37366a43451608c0594
Pull-Request has been merged by jkaluza