cleaner interface