moved assignment and operator tracking to model