add diconnect method