Mostly manual merge