refactoring
update .gitignore files
Merge remote-tracking branch 'remotes/github/master' into stable