split the library across several headers; the library is header-only now