cleaned test codes, all tests passed, 87% line coverage and 46% branch coverage