added more test cases, to see if it still works for the simpler cases (i.e., still has general applicability);