Genetic Programming: From Design to Improved Implementation