ignore generated tags file
move low-level functions to raw (sub)module
add tests for group matching, clean-up use imports