Click to restart, much refactoring.