With the approach mentioned above, we can probably convert this back to the old approach