Rewrote SchemaElem class hierarchy