I need to update this in light of recent developments, but if I might humbly suggest as a starting point: