added basic mutation function