Seperating mutation logic