added more cases for unit tests