check with std::epsilon in mind.