Title: A survey of libraries