refine response callback