general code refinement