infrastructure refactor