added data model (first iteration)