This same logic was used in the module protocol, it's just a heuristic.