Copyright (C) 2004-2006 Marvin Raaijmakers