Revised shape constructors