add drag component protocol