tagger: synchronized since the C code isn't thread safe