introduce a cb option to handle_init