changes to model and data logic