add tests for more use cases