refactor matcher to use streamlet