data models, refactored