add version handshake to the protocol
check for a few functions and disable the plugin if not found
move the diagnostic lang_hook function into the plugin