added examples and more test cases