add double type and implicit conversions.