finished corners() heuristic