Updated with tolerance 0.001