more about template parameters