refine and update