A first working version.