Basic structure of lib