workaround C++98 limit