See below for full details.