optional clean