added DPLayerDelegate