add handshake callback