fixed sub callback not invoked