Final Changes

With all test cases included