persistence superclass