Initial version (copy of Christoph's prototype.)