Redesign: intermesiate version added.