add multi update and refactor adding operators