introducing choice to dispatch messages