testing
add some test cases, bugfix