adding function pointer tables and inline dispatch functions