commit sync with master

updated py files with the original files in the original master branch
modified the py files with only the changes able to support the new
features