works within tolerance