Added ~30 test cases (still need to add more)