major refactor in infrastructure. No logic should be affected