library structure