new unit tests with more cases