robust callback