Refined constructor and more test cases