update src and include dirs from master
update remainder of code based (except visual tests) from master