now with C++98 compat