Many refinements and updates