Work in progress so I don't have to retype this.