tidies up the Descriptor interface a bit