don't force class name on constructor (as it may be read only)