pull out separate_handshakes