allow data to be empty