may be `null` after `__construct`