much cleaner design