separating Selection, CrossingOver and Mutation (classes) from Population