infrastrure refactor