refactored VP to be a static class, added TestResult struct