Combined three main classes into one single class with three unit tests.