do handshake