empty data frame is still a frame