subs split into library