started refactoring of modify assignment