make library header-only