added various test cases