Issue #2 - Functional design for data cleaning