split out libwork