Library
written by Pedro HS Pella