refactored conversions, allows "NA" to pass through