added more unit tests for analysis and cleaned up exam class/subclass