Use S3 methods
Refactored code
New functions has.*; added output function as.data.frame