Clean framework