redundant template