implemented more model classes; create actual objects, not just hashes