add test_lib for more test cases