update framework
add test cases