working VCP with disconnect detect