cleaned interface