refactor mutator