pointer tolerance is much better