bringing c++11 branch up to date