Added tolerance parameter