probe.c rewritten