Refactored into 2 bundles