properly bail on version mismatch