snapshot for CPI refactoring