split thingies into lib and spec