add tests for different input and output