Completed first cut - untested.