Example code. You probably don't want to use any of this.