mutation, near final version