This logic does not belong here, but in the `__construct` function