create a delegate engine