fix the compile error by add template parameters