refactor headers involving variant attempting to move as much variant usage out of hpp files to speed up compiles