added numeric template funcs