Add function call protocol