diff --git a/README.md b/README.md
index 7f9fb16..45a5882 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@ OpenTally may be used in a number of different ways:
## Features
-OpenTally accepts data in the [BLT file format](https://yingtongli.me/git/OpenTally/about/docs/blt.md), and can count votes using:
+OpenTally accepts data in the [BLT file format](https://yingtongli.me/git/OpenTally/about/docs/blt-fmt.md), and can count votes using:
* weighted inclusive Gregory STV (e.g. [Scottish STV](https://www.legislation.gov.uk/ssi/2011/399/schedule/1/made))
* unweighted inclusive Gregory STV (e.g. [Australian Senate STV](https://www.legislation.gov.au/Details/C2020C00400/Html/Text#_Toc59107700))
diff --git a/docs/blt.md b/docs/blt-fmt.md
similarity index 100%
rename from docs/blt.md
rename to docs/blt-fmt.md
diff --git a/docs/con.md b/docs/con-fmt.md
similarity index 96%
rename from docs/con.md
rename to docs/con-fmt.md
index ce485e8..150fde1 100644
--- a/docs/con.md
+++ b/docs/con-fmt.md
@@ -1,6 +1,6 @@
# CON file format
-OpenTally accepts the specification of constraints in a nonstandard file format, referred to as a CON file. The CON format is inspired by the standard [BLT file format](blt.md) used for ballot data.
+OpenTally accepts the specification of constraints in a nonstandard file format, referred to as a CON file. The CON format is inspired by the standard [BLT file format](blt-fmt.md) used for ballot data.
Suppose there are 7 candidates in the election. An example CON file is as follows:
diff --git a/docs/options.md b/docs/options.md
index e974f9b..07ec1ba 100644
--- a/docs/options.md
+++ b/docs/options.md
@@ -162,7 +162,7 @@ The algorithm used by the random number generator is specified at [rng.md](https
## Constraints (--constraints)
-This file selector allows you to load a [CON file](https://yingtongli.me/git/OpenTally/about/docs/con.md) specifying constraints on the election. For example, if a certain minimum or maximum number of candidates can be elected from a particular category.
+This file selector allows you to load a [CON file](https://yingtongli.me/git/OpenTally/about/docs/con-fmt.md) specifying constraints on the election. For example, if a certain minimum or maximum number of candidates can be elected from a particular category.
OpenTally applies constraints using the Grey–Fitzgerald method. Whenever a candidate is declared elected or excluded, any candidate who must be elected to secure a conformant result is deemed *guarded*, and any candidate who must not be elected to secure a conformant result is deemed *doomed*. Any candidate who is doomed is excluded at the next opportunity. Any candidate who is guarded is prevented from being excluded.
diff --git a/docs/quick-start.md b/docs/quick-start.md
index 03ee796..8e19300 100644
--- a/docs/quick-start.md
+++ b/docs/quick-start.md
@@ -1,6 +1,6 @@
# Quick start guide
-Prepare a [BLT file](https://yingtongli.me/git/OpenTally/about/docs/blt.md) containing the ballot papers in the election. If you would just like to see a demonstration election, you can download a sample BLT file here.
+Prepare a [BLT file](https://yingtongli.me/git/OpenTally/about/docs/blt-fmt.md) containing the ballot papers in the election. If you would just like to see a demonstration election, you can download a sample BLT file here.
Launch OpenTally at https://yingtongli.me/opentally/stv/.