new prototype with update code, including new diagrams to follow.