add precise math methods