merged from origin
merged from upstream
fixed pep8 issues