AUTHORS ------- Originally by: Shane Hyde Patches and other contributions (also see ChangeLog): Matthew Ramsay