commit to master

lots of changes