todo test cases satisfying all the cases
todo test cases satisfyin all the cases