major updates to model