removed header-only stuff, will just do with a single unity file later, if desired