todo data frame class