Vestigial structures are to be EXPECTED if life forms were designed, especially if the designer/s took an "Object Oriented" approach. Let me explain. In Software Development, "Object-Oriented Programming" (OOP) refers to a specific methodology of programming made possible by languages like Java and C++. When using this methodology, one write Object "Classes" which contain "properties" (basically variables to store data) and "methods" (blocks of code to perform actual tasks). You can have multiple instances of any class. Also, a Class can "Inherit" properties and methods from another class. For instance, lets say I was writing an application that simulated the biological functions of all the fish, mammals, and reptiles one finds at the Tennessee Aquarium in Chattanooga (to which you should TOTALLY go if you have never been ... AWESOME!!!!) Well, I'd have to be an idiot to write the code for each animal separately. Instead, I would start by writing a Class called "Vertebrate". Vertebrate would have properties like "vertebrae_count", "vertebrae_size[]" (it would be an array, so the size of each could be controlled separately), "tail_lenth", "limb_length[]", etc. Additionally, it would contain "methods" such as "limbGrowth", "digestion", "eggProduction", etc. Then I would write classes entitled "Bird", "Mammal", "Reptile", and "Fish". (I know the original specs did not ask for a "Bird" class, but TRUST ME, the users will EVENTUALLY come back and ask for it, so you should plan ahead.) Each of these new classes will "extend" the "Vertebrate" class, thereby inheriting all of it's properties and methods. Now, you will note that all these classes automatically pick up all of the properties and methods that the basic Vertebrate class used to grow tails. So, when I write the "Primate" class, it will "extend" the "Mammal" class (or possibly some other class which in turn extended "Mammal") thereby inheriting "tail_length" and "tailGrowth". In turn the Class "Ape" will inherit from "Primate", also getting the methods and properties to grow tails. And, obviously, "Human" will inherit from "Ape". Under normal circumstances, the "tail_length" property in the "Human" class will be set very low by the "Constructor" method (every class has one). But in nature, mutations and other factors can cause "glitches" that would not happen in an electronic environment, so occasionally the "tail_length" property gets set a little high in a human, and as the Theory of Intelligent Object Oriented Design would suggest, the person gets a tail. The same principle explains why snakes and whales have vestigial hind legs. This also explain the fusion of two chromosomes from "Ape" into Chromosome 2 in humans, and offers an interesting insight into the specific method being used to develop our "software". When we compile code written in Java or C++, modern compilers do something called "optimization", where in they find the way to compile the code into either byte code or machine language (depending on the language) which will allow the code to run most efficiently. This seems to going on in the development of the code to create life as well. When the Human class was compiled, SOMETHING about an overridden method or something in the Constructor class caused the compiler to do something different with those two chromosomes. So, vestigial organs are no obstacle whatsoever to an Intelligent Design model. Lots of code I have written has "inherited" methods it will never use. I'm not going to write everything from scratch. The same goes for who/whatever wrote our DNA.