Split lib into a compiler and a tag generation lib