updated and added new test cases