Key exchange and checking now work entirely