test cases added, tested