Author: Stefan Mangard,Francois-Xavier Standaert