add data frame check