cleaner data structure