added new test cases for Part2-a,b; finished part2-c, that is, compose function and tested it