fixed bug in as.data.frame