(c) 1998 David Ishee
(c) 2001-2003 Pascal Brachet
