refactor add tests
add '*' support