Add prototype functions for selection, crossover and mutation