Genetic programming refactored