Cleaner class hierarchy