1) Modularized classes under various heads
2) Modified Unit test cases to handle modularity.