heuristic doen i think but has not been tested