Wip generic retcon

Should work fully. Don't merge before cleanup.