Changes from large overhaul by John and myself.