limit calculation more accurate