By order of contribution and with thanks::
	* Steve Mapes
