Update master

update the master branch with lots of recent changes, except the value range which is still in progress