code: separate genetic algorithm from the Ruleset code