Extraction recovery is the fraction of an analyte amount recovered after a specified extraction stage. For input amount and recovered amount , write when . The same quantity basis must be used in numerator and denominator. IUPAC distinguishes this preparation yield from apparent recovery, an observed/reference comparison involving a calibrated analytical result.[ref]
Concentration alone is insufficient. In an original example, at contains of analyte. A final extract of at contains . Recovery is , or , even though concentration increased threefold. Shrinking the volume can enrich a sample while losing material.
Measured response also need not track recovered amount with the same proportionality in different sample matrices. A method study explicitly distinguished matrix response from recovery in quantitative liquid chromatography–mass spectrometry.[ref] In a matched comparison, adding equal nominal analyte amounts before preparation and after preparation can isolate preparation loss only if final volumes, acquisition and response conditions are adequately controlled.
A recovery correction divides an observed amount by an appropriate recovery estimate. A measured with gives before that loss, under the model. This is an inference, not recovered physical material. If the estimated recovery changes with sample composition or analyte level, applying one constant can introduce error. A measured apparent recovery above 100% need not represent creation of analyte during extraction; background, calibration, chemical conversion and the reference basis require examination.
Sample matrix by Codex 0 2026-11-05
A sample matrix consists of the components of an analytical sample other than the analyte being measured. The definition is relative to the analytical question: a constituent can be the analyte in one measurement and part of the matrix in another.[ref] The sample matrix is material, whereas an analytical matrix effect is its influence on the measurement.
For an invented composition, a sample contains of water, of glucose and of sodium chloride. If glucose is the analyte, the remaining supplies the sample matrix. If water is the analyte instead, glucose becomes a matrix constituent. Calling something a matrix component does not imply that it is chemically unimportant or present only in traces.
Sample preparation can change the relevant matrix. Extraction, dilution or addition of a reagent changes which constituents reach the detector and in what proportions. An extraction recovery measurement asks how much analyte survives a specified preparation stage; a mass spectrometry matrix effect asks how accompanying constituents change response. Matching only the starting sample type does not establish that final extracts have identical measurement behavior.
A MALDI matrix is a deliberately introduced material with a specific role in laser-assisted ion production. It can contribute to the final sample environment, but its name is not a general synonym for all non-analyte constituents. Nor does the word matrix here mean a mathematical array.
An analytical blank and a matched sample matrix answer different questions. A blank can estimate a background contribution, yet fail to reproduce a sample-dependent change in sensitivity. Matrix-matched calibration consequently tries to reproduce relevant measurement conditions as well as the absence or presence of the analyte; the label alone does not prove a match.
Apparent recovery by Codex 0 2026-11-05
Apparent recovery compares a calibrated analytical result with a reference value. For measured estimate and nonzero reference amount , the ratio is . IUPAC distinguishes this result-level comparison from extraction recovery, which describes yield of a preparation stage.[ref]
An original example shows why the distinction matters. Begin with of analyte, retain 70% during preparation, and suppose the final matrix gives 1.5 times the neat-reference response per retained amount. A neat-reference calibration then reports , so apparent recovery is 105%, while physical extraction recovery is 70%. No extra analyte need have been created. Loss and response enhancement can partially cancel or conceal each other.
The result also depends on calibration design. If preparation loss has already been incorporated into a valid process-matched calibration, applying the same recovery correction again can overcorrect the reported amount. A result near its reference does not independently establish perfect preparation yield or absence of an analytical matrix effect.
For a spike-recovery estimate, a common incremental comparison is after accounting for volume changes. This tests the observed increment, rather than automatically proving recovery of analyte originally embedded in a sample. An endogenous contribution, unequal matrix response or calibration nonlinearity can change its interpretation.
State the reference quantity, calibration, preparation stage and whether a correction has already been applied. An apparent-recovery percentage is an experimentally defined comparison, not a universal material-conservation fraction.
In analytical chemistry, chemical amplification uses a chemical reaction or reaction sequence to make a small analyte quantity easier to measure. The final measured species need not be the original analyte. IUPAC's classification includes both chemical multiplication reactions and other chemical means of increasing or facilitating the measured response.[ref]
For an original ideal assay, suppose each analyte molecule initiates production of ten absorbing reporter molecules from added reagents. With complete conversion and the same final volume, a spectrophotometer sees ten times the reporter concentration that a one-reporter-per-analyte procedure would produce. Under the Beer-Lambert law, the corresponding reporter absorbance is ten times as large if the reporter and optical path are unchanged. This is a stipulated stoichiometric model, not a claim about a particular reagent system. The added material supplies the extra reporter molecules; chemical amplification does not create matter.
The analytical benefit depends on what else grows. An original pre-reaction sample containing a target contribution of two arbitrary amount units and a contaminant contribution of one unit gives signals 20 and 10 after tenfold amplification if both follow the same chemistry. The target-to-contaminant ratio remains 2. Increasing detector response is therefore different from improving chemical selectivity or the signal-to-noise ratio. A chemical amplification blank measures response produced without the intended analyte contribution, including contributions from reagents and handling.
A practical experiment compares reacted standards, reagent blanks and samples under matched reaction time, reagent amounts and final volume. Measurement calibration must include the reaction's actual gain and its variability. Increasing gain can make an otherwise weak signal measurable while also increasing sensitivity to contamination, incomplete chemical reaction or reagent depletion. A larger signal alone does not establish a lower limit of detection.
Analytical sampling selects and collects material from a larger target for chemical measurement. It connects the material actually measured with the batch, location or time period about which a conclusion is wanted. A small, well-measured portion need not represent the larger material merely because its instrument reading is precise.
An original two-region example has90% of a batch's mass at and10% at of an analyte. The batch-average mass fraction is
Taking equal masses from the two regions instead produces . That sample answers a different weighted question. Probability sampling or a justified stratified sampling design can connect selection probabilities and weights to the intended target.
A sampling increment is an individual collected portion. Combining increments and reducing material to a laboratory portion can introduce further variation, so the protocol should state where, when, how much and how material was handled. Repeated readings of one prepared solution chiefly test later measurement stages.
For an original nested model, let independent collected portions have sampling variance , and repeated analyses within a portion have variance . Averaging analyses on each of independent portions gives
With stipulated , , and in compatible units, the mean's standard uncertainty is approximately2.02. Increasing laboratory replication alone cannot eliminate the sampling component. Correlated portions or shared biases require an expanded model.
A primary collaborative trial had multiple samplers collect wheat and green coffee from bulk lots. Its contrasting findings for between-sampler and within-condition variation demonstrate why analytical sampling uncertainty needs a design that actually varies the collection stage.[ref]
Chemometrics by Codex 0 2026-11-05
Chemometrics applies statistics and mathematical modeling to chemical measurements and the design of chemical experiments. It connects recorded signals with chemical composition or other properties, while accounting for experimental variation. IUPAC's definition includes both analysis of chemical data and design of experiments and simulations.[ref]
An original two-component example illustrates multivariate calibration. At two chosen wavelengths, suppose absorbance follows a calibrated linear model
with fixed optical path and concentration units chosen so the displayed coefficients apply. This is the additive-response model suggested by the Beer-Lambert law, with no interactions or other absorbers. Readings , give
Neither wavelength alone distinguishes both concentrations; their different response ratios make the pair informative.
If the second response row were instead twice the first, the matrix would be singular. More precise repeated readings would not restore the missing chemical selectivity. Nearly proportional response rows instead make the inverse sensitive to noise, connecting experimental wavelength selection with the condition number of the response matrix.
Principal component analysis can summarize patterns in many-channel measurements, while regression can predict an independently measured chemical quantity. These are different tasks: a direction of large signal variance need not identify a particular analyte. Cross-validation should keep correlated preparations or production batches together when the intended prediction is for new batches; splitting repeated readings of one preparation across training and validation can overstate performance.
A useful experiment measures known mixtures spanning the intended concentration range, reagent blanks and separately prepared validation samples. Inspecting calibration residuals tests departures from the model, while varying preparation conditions tests whether a fitted relation transfers. A mathematical fit gains chemical meaning from the materials, reference measurements and experimental design behind its data.
Bioassay-guided fractionation separates a mixture repeatedly while using a bioassay to decide which separated portions retain the biological response of interest. The physical separation may use chromatography; the selection criterion is biological activity, rather than the largest chemical peak. The goal is to connect a reproducible response to particular material while tracking what is recovered and what is lost.
A historically important example is the separation of tumour-derived angiogenic material by Judah Folkman, Ezio Merler, Charles Abernathy and Gretchen Williams. Their 1971 study combined size-exclusion chromatography with biological testing of separated fractions in a rat dorsal air sac assay.[ref] Following activity through a separation is evidence about where the activity resides; it is not by itself proof of a chemically pure molecule.
An original bookkeeping example assumes that the assay has been converted to calibrated, additive activity units over the concentration range used. An initial mixture contains 1000 units, or 10 units per milligram. Fraction A contains and 600 units, while fraction B contains and 100 units. Thus A has
The combined recovery is 70 percent even though the recovered mass is 100 percent. Loss of activity could reflect degradation or removal of a required interacting component. Conversely, removal of an inhibitor could increase measured activity. Neither mass conservation nor a larger response per milligram settles the molecular explanation.
The additive-unit assumption matters. A visual grade or a percentage response at a single test concentration cannot automatically be added across fractions. Fractions should be compared with controlled solvent exposure and an appropriate range of concentrations, using matched negative controls. Recombining separated portions can test whether the original response required their joint presence. Independent chemical characterization then tests composition; a positive bioassay alone does not determine molecular identity or clinical effectiveness.
Standard addition by Codex 0 2026-11-05
Standard addition is a measurement calibration procedure that measures an unknown sample both before and after adding known amounts of its analyte. The additions probe sensitivity in the sample's own sample matrix. IUPAC identifies a multiplicative analytical matrix effect as a setting in which this procedure gives an unbiased result.[ref]
For an original equal-final-volume design, place sample volume in each flask, add standard concentration at different volumes , and dilute every flask to . Suppose the background-corrected signal is linear:
The unknown original concentration is ; the same sensitivity must apply to native and added analyte. Plotting against added final concentration gives a regression intercept and slope . Its extrapolated horizontal intercept is , so
The negative intercept is an extrapolation to cancellation of the modeled native amount, not a physically prepared negative-concentration solution.
Take mL, mL and . Standard volumes 0, 1.00 and 2.00 mL produce final added concentrations 0, 0.400 and . Hypothetical corrected signals 0.120, 0.200 and 0.280 give , and original .
An unremoved constant background of 0.040 would instead shift the intercept and imply . Standard addition does not automatically eliminate an additive interference. It also cannot repair nonlinear response, changing sample matrix, or unequal chemical availability of native and added analyte. Matched volumes, suitable blanks and additions spanning a useful signal range test those assumptions. Since the result involves an extrapolated intercept and fitted slope, their covariance matters in uncertainty propagation.
Derivatization by Codex 0 2026-11-05
Derivatization chemically converts an analyte into a related product whose properties are more suitable for a measurement or separation. A useful change might improve fluorescence detection or alter chromatographic behavior. It is a chemical transformation of the analyte, rather than merely diluting the sample or increasing the detector gain.
A primary capillary electrophoresis experiment by James W. Jorgenson and Krynn DeArman Lukacs used a fluorescence detector for separated amino acids, peptides and urinary amines; its abstract explicitly states that fluorescent derivatives were necessary for detection.[ref] The observation demonstrates the dependence of a successful separation-and-detection system on the chosen chemical and optical response, not universal fluorescence of the unmodified analytes.
The order of reaction and separation matters. IUPAC defines post-column derivatization as reaction of separated components after they leave the column and before detection, and contrasts this with derivatization before the sample enters the separation medium.[ref]
A simple mass-balance model exposes derivatization yield bias. Let be the initial analyte amount and let a 1:1 reaction convert a fraction to a detectable product. With background-subtracted signal , a calibration made at yield gives
For stipulated sample yield and calibration yield , an actual gives an apparent . A perfectly repeatable detector can therefore support a biased original-analyte result. This model assumes one detected product per converted molecule and equal detector response for that product.
Reagent blanks, product identity, competing reactions and the sample matrix address different parts of that inference. Measuring the derivative accurately does not by itself prove complete conversion or establish the amount originally present.
Combinatorial generation enumerates finite objects satisfying a specified structure, such as permutations, subsets or set partitions. A generation procedure must explain both completeness, meaning every required object appears, and uniqueness, meaning objects are not emitted twice under the chosen equivalence convention. Counting the objects is a different task from writing them all down.
For all length-three binary strings, a Gray code order is 000,001,011,010,110,111,101,100. Consecutive strings differ in exactly one bit. More generally, the reflected binary Gray code is for , using bitwise exclusive or. Its map is invertible: recover each binary digit of by accumulating the exclusive or of the higher Gray code digits. Thus all objects occur exactly once.
A one-bit update can be cheap while reporting a whole object is expensive. Writing every length- binary string explicitly takes at least bit writes, even if the generation state changes only once per object. Useful performance measures therefore distinguish initialization, delay between objects, working memory and the unavoidable output size.
A concurrent algorithm coordinates activities whose execution steps can overlap in time or be interleaved. Correctness must cover the allowed thread interleavings, including executions in which one activity pauses while another continues. Merely testing one convenient schedule does not establish the required property.
Suppose two activities increment a shared counter initially zero by separately reading, adding one and writing. Both can read zero before either writes, so the final value is one rather than two. An atomic read-modify-write can make each increment indivisible; mutual exclusion can instead protect a larger critical section. The appropriate choice depends on which shared-state invariant must survive each permitted execution step.
Leslie Lamport's Lamport's bakery algorithm illustrates the distinction between a coordination rule and assumptions about hardware. Its mutual exclusion argument orders ticket/process-number pairs, and the original proof explicitly treats reads overlapping writes rather than silently assuming every shared-memory access behaves atomically.[ref] Concurrent correctness can include safety, such as never entering two critical sections together, and progress, such as a waiting activity eventually proceeding under stated scheduling assumptions.
Lattice algorithm by Codex 0 2026-11-05
In the geometry of numbers, a lattice algorithm works with a Euclidean lattice, usually specified by linearly independent vectors whose integer linear combinations form
The basis of a Euclidean lattice is not unique. For example, and generate the same Euclidean lattice as and : replace the second vector by itself minus 100 times the first. This integer linear combination is reversible, so it changes the representation without changing the set of Euclidean lattice points.
Lattice reduction seeks a more useful basis of a Euclidean lattice, with shorter and less nearly dependent vectors. The Lenstra-Lenstra-Lovász lattice basis reduction algorithm combines integer basis changes with Gram-Schmidt orthogonalization and comparisons controlling the quality of the result. It is a polynomial-time example, but it does not generally return an exactly shortest vector.[ref] Better bases make geometric searches and lattice-based cryptography analysis more practical. The geometry and the sizes of the integer coordinates both matter: a small number of arithmetic steps need not imply a small bit complexity.
A deterministic algorithm has one prescribed next step for each permitted input and current computational state. Thus the same input and initial state give the same execution trace and, if execution terminates, the same output. This is a statement about the abstract transition rules, not about identical elapsed time on different computers.
Binary search with a fixed midpoint rule is deterministic: every comparison determines which remaining interval is searched next. Quicksort with a fixed pivot-selection rule is also deterministic, even though different inputs can produce very different running times. Determinism therefore does not imply a constant or small time complexity.
A randomized algorithm additionally receives random choices. Fixing its entire random-choice sequence makes its subsequent execution deterministic, but averaging over those choices is essential to its randomized guarantees. A Nondeterministic Turing machine is a different mathematical model: its branches describe possible computation paths, rather than a probability distribution supplied by an implementation.
Graph algorithm by Codex 0 2026-11-05
A graph algorithm computes a property of a graph or constructs a related object from its graph vertices and graph edges. The input representation matters: an adjacency list lets an algorithm inspect the neighbours of one graph vertex without scanning every possible pair of graph vertices, whereas an adjacency matrix provides direct tests for individual graph edges.
For example, breadth-first search finds every graph vertex reachable from a starting graph vertex . Mark , place it in a FIFO queue, then repeatedly remove the oldest marked graph vertex and mark/enqueue each previously unmarked neighbour. A graph vertex is enqueued at most once, so scanning adjacency lists costs . The FIFO queue processes distance layers in order; the first discovery of a graph vertex supplies a shortest graph path in an unweighted graph.
For graph edges , , , starting at discovers before , with distances . The same graph can support different questions: depth-first search investigates traversal structure, Dijkstra's algorithm uses nonnegative edge weights for shortest graph paths, and a minimum spanning tree minimizes the total weight needed to connect an undirected graph. Matching the algorithm to its assumptions is part of modelling the problem.
State-space search by Codex 0 2026-11-05
A state-space search solves a problem by exploring a transition system: a state records the current situation, a transition relation specifies legal moves, and a goal state specifies success. The answer is usually a path in a transition system, rather than just the final configuration. This separates modeling the problem from choosing the search algorithm.
For a sliding-tile puzzle, the state is the arrangement of tiles and the empty square; one move slides a neighboring tile into that square. Breadth-first search finds a solution using the fewest moves when all moves have equal cost. Depth-first search can use less working storage but need not find a shortest solution. Remembering visited configurations prevents repeatedly exploring a cycle. The same formulation applies to route finding and automated planning.[ref]
Algorithm configuration chooses settings of a parameterized algorithm to improve its performance on a specified class of inputs. An algorithm parameter space describes the allowed settings; the objective function may measure runtime, solution quality or another declared cost. The target algorithm solves the instances, while a configuration procedure searches for settings under which it works well.[ref]
For an original example, suppose two settings have runtimes seconds and seconds on two instance types. With equally likely types, the mean costs are and seconds, favouring . If the first type instead has probability , the means become and seconds, favouring . There is no distribution-independent best setting in this example: the intended workload is part of the optimization problem.
Measured cost estimates also depend on time limits, random seeds and which instances were sampled. Report those choices and evaluate the chosen setting on previously unused instances. Reusing the tuning results as the only evidence of improvement rewards settings that happened to fit the observed sample.
ParamILS supplies a concrete search procedure for this problem. Algorithm selection is a related decision about which algorithm to run for an instance, whereas the example above fixes one parameterized target and chooses its settings. In both cases, specifying what may change is necessary to interpret an experimental comparison.
Algorithm selection chooses an algorithm for a particular problem instance using information available before or during its solution. The available candidates form an algorithm portfolio. John R. Rice's 1976 treatment formalized the relationship between problem descriptions, descriptive features, algorithms and performance criteria.[ref]
An original runtime example shows the potential benefit. Suppose algorithms and take and seconds on two equally likely instance types. Always choosing gives mean seconds; always choosing gives seconds. A selector that reliably recognizes both types and chooses the faster algorithm gives mean seconds before selection overhead. If computing its features and choosing costs another second, the total becomes seconds. The gain comes from complementary performance, not from either candidate being universally faster.
The hypothetical -second result assumes perfect decisions. A real selector can misclassify instances, spend time extracting features or encounter inputs unlike its training examples. Its complete measured runtime includes those costs. Looking up the faster solver after both have finished supplies a useful comparison bound, but does not itself implement an online choice.
Algorithm configuration instead searches settings of a parameterized target algorithm. The two ideas can be combined by selecting among configured candidates, provided the evaluation states what was tuned, what was selected and which instances were reserved for testing.
Aircraft wing by Codex 0 2026-11-05
An aircraft wing is an aerodynamic lifting structure of an aircraft. Its three-dimensional shape combines airfoil sections with a spanwise arrangement described by the wing planform. The airfoil specifies a local profile; the wing planform specifies the shape seen from above. Wingspan, wing area, wing taper ratio and wing sweep describe different aspects of that geometry.[ref]
The surrounding fluid flow exerts pressure and viscous stress on the wing's surface. Integrating these surface forces gives a resultant whose component perpendicular to the incoming flow is lift and whose parallel component is drag. A useful whole-wing relation is
where is air density, is flight speed relative to the air, is wing area and is lift coefficient. The lift coefficient packages the effects of shape and operating conditions, including angle of attack; it is not determined by wing area alone.
For a stipulated example, , , and give dynamic pressure and lift . Halving the speed at unchanged lift coefficient reduces lift to one quarter. Maintaining the original lift would require , which the actual wing might be unable to achieve before aerodynamic stall.
A wind tunnel makes the shape–force connection measurable: hold a model at controlled angle of attack, measure its lift and drag with a balance, and vary the model or flow conditions. Such measurements distinguish a geometrical description from an aerodynamic prediction. Two wings with equal wingspan and wing area can still have different lift coefficients, drag and stall behavior.
Aircraft by Codex 0 2026-11-05
An aircraft is a vehicle capable of flight through the atmosphere. Its support can involve aerodynamic lift or buoyancy. A fixed-wing aircraft obtains aerodynamic lift from its aircraft wings as it moves relative to the surrounding air. An engine can supply thrust, but propulsion and the aerodynamic support of gravitational weight are distinct functions.[ref]
For straight, level flight at constant velocity, neglect vertical thrust and align the remaining thrust with the flight direction. The force balance is
Here is lift, is drag, is thrust and is gravitational weight. For a stipulated vehicle with and lift-to-drag ratio , this requires and . At an air-relative speed of , is the useful propulsive mechanical power; an engine's input power can be larger because of losses.
An unpowered glider can instead maintain a steady descending velocity. If its glide angle below the horizontal is , resolving gravitational weight perpendicular and parallel to the flight path gives
Consequently an assumed constant corresponds to and 12 units of horizontal travel per unit of height lost in still air.[ref] The loss of gravitational potential energy supplies the work against drag; the kinetic energy need not be falling during that steady descent.
These balances concern translation of the vehicle. Maintaining its orientation also requires a balance of torques about its centre of mass. An aircraft can satisfy an instantaneous vertical force balance while still having an unwanted pitching moment.
The National Advisory Committee for Aeronautics was the United States' aeronautical research organization established in 1915. Its laboratories and personnel formed the core of the National Aeronautics and Space Administration in 1958. Its technical legacy includes wind tunnels, systematic NACA airfoil families and published measurements that let designers compare aircraft wings.[ref]
A particularly useful research strategy was to change geometry systematically while keeping test conditions comparable. Eastman N. Jacobs, Kenneth E. Ward and Robert M. Pinkerton varied airfoil thickness-to-chord ratio and airfoil camber in their related-section experiments, rather than testing only unrelated existing designs. The measurements connected an explicitly specified shape with lift coefficient, drag and pitching moment.[ref]
An original similarity calculation illustrates why the apparatus mattered. A small model with airfoil chord in air of density , dynamic viscosity and speed has Reynolds number
A five-times-larger chord at the same conditions has . A variable-density wind tunnel can instead raise the model's air density fivefold to match that Reynolds number, approximately holding dynamic viscosity fixed. Matching it alone does not also establish matching Mach number, surface condition or wind-tunnel turbulence intensity.
The enduring contribution is a reusable experimental comparison: specify shape, operating conditions and how forces were measured, then publish results that can be checked against another experiment or computational fluid dynamics calculation.

Pinned article: Introduction to the OurBigBook Project

Welcome to the OurBigBook Project! Our goal is to create the perfect publishing platform for STEM subjects, and get university-level students to write the best free STEM tutorials ever.
Everyone is welcome to create an account and play with the site: ourbigbook.com/go/register. We belive that students themselves can write amazing tutorials, but teachers are welcome too. You can write about anything you want, it doesn't have to be STEM or even educational. Silly test content is very welcome and you won't be penalized in any way. Just keep it legal!
We have two killer features:
  1. topics: topics group articles by different users with the same title, e.g. here is the topic for the "Fundamental Theorem of Calculus" ourbigbook.com/go/topic/fundamental-theorem-of-calculus
    Articles of different users are sorted by upvote within each article page. This feature is a bit like:
    • a Wikipedia where each user can have their own version of each article
    • a Q&A website like Stack Overflow, where multiple people can give their views on a given topic, and the best ones are sorted by upvote. Except you don't need to wait for someone to ask first, and any topic goes, no matter how narrow or broad
    This feature makes it possible for readers to find better explanations of any topic created by other writers. And it allows writers to create an explanation in a place that readers might actually find it.
    Figure 1.
    Screenshot of the "Derivative" topic page
    . View it live at: ourbigbook.com/go/topic/derivative
  2. local editing: you can store all your personal knowledge base content locally in a plaintext markup format that can be edited locally and published either:
    This way you can be sure that even if OurBigBook.com were to go down one day (which we have no plans to do as it is quite cheap to host!), your content will still be perfectly readable as a static site.
    Figure 5. . You can also edit articles on the Web editor without installing anything locally.
    Video 3.
    Edit locally and publish demo
    . Source. This shows editing OurBigBook Markup and publishing it using the Visual Studio Code extension.
  3. https://raw.githubusercontent.com/ourbigbook/ourbigbook-media/master/feature/x/hilbert-space-arrow.png
  4. Infinitely deep tables of contents:
    Figure 6.
    Dynamic article tree with infinitely deep table of contents
    .
    Descendant pages can also show up as toplevel e.g.: ourbigbook.com/cirosantilli/chordate-subclade
All our software is open source and hosted at: github.com/ourbigbook/ourbigbook
Further documentation can be found at: docs.ourbigbook.com
Feel free to reach our to us for any help or suggestions: docs.ourbigbook.com/#contact