Author: Marc Bevand Licence: I hereby disclaim the copyright on this code and place it in the public domain.