tolerate missing fields