refactor assignment and add => operator