"template" keyword unnecessary here, prevents compilation on MSVC