Explain purpose and background of library