explanation for library