A preliminarily working version.