closes #118 created mutation and conditional mutation classes that accep...