drop tr1 stuff and use C++11 types