refine the process