refactoring for test harness isolation, incomplete, vvm still functional