Version I gave to John that works. Before I make some major revisions.