adding as.data.frame back