added more test cases and a script