basic library structure