Refining Algorithms