add initial invoke fn