splitting up mutation responsibilities