typename can not use outside the template declaration