classes needed for genetic algorythm implementation