add tests
add matches case