introduced DocumentBuilder  event dispatcher