adapt for mutation order