V2.0 capture refactor