modify Model classes to take dao as input