working on secondary, cleaner design