templatized the version