re-implement entity.gen ctor so it's inherited