allocate dispatch table on-demand