refactoring around processing changed values