Numerous changes - implementation 2 is a success