Convert to header-only library