Move handshake to exceptions