ensures all fields are always set