session class superclass changed to allow deep object copies