handle undef/string values better