I'll add more test cases as well in another pull