conversion to header only library