finished barely-working versioning