avoid conversion to double