easier to add pure funcs as interface tools