cleaner API