Began Adding Testing
Refactored some classes  because of parameterization issues.
(cherry picked from commit 392c0c7)