First commit on the second attempt.
Merge conflicts. Naturally.