added models and migrations. not tested