Thorough edit part 1