The Geometry class has a void *userData that is deleted at Geometry detetion time. Wouldn't it be appropriate to define a class from which userData should derive ? The compiler warns that void * cannot be safely deleted. --strk;