Removed default function template arguments for compatability with MSVC