upgraded Proves constructors/defs