refactored data model's read method to use arbitrary kwargs