adding mutations and crossower