Copyright (c) 2001 Richard Kelsey
Copyright (c) 2003 Martin Gasbichler
