add tool func