When I started on the d20 project, I added the data structure for the Feats quickly so that I could add the advanced character classes as well (they have some feats as prerequisite). At the time the way I've set up the structure for the Feats seemed okay...
Now with me wanting to implement the Feats as a whole I found out that I made an error with my thining on how the Feats should be implemented back then. TO save work I used a 'specialization' level for the feat so that I could include the regular, improved and advanced into one class. But now that I've come at the point where I'm testing the d20 project code by making an actual character, that no longer is sufficient enough.
Some of the Feats, and most certainly the improved and advanced ones have specific prerequisites for the chatacter to add them. Let me take the Combat Martial Arts Feat as an example.
The normal Combat Martial Arts Feat requires the character to have a Base Attack Bonus (BAB for short) of 1 (a score that almost every Strong Hero can obtain at level 1). Improved Combat Martial Arts required the character to have the Combat Martial Arts Feat, as well as a BAB of 4, and Advanced Combat Martial Arts required the character to have a BAB score of 8.
Other Feats have also different prerequisites for the character to take them, like one (or more) minimum ability scores, a minimum number of ranks in a Skill and even multiple Feats.
And while at it, the benefits of some Feats have different effects. Where some Feats directly influence the DC of a skill, other Feats allow you to select a skill that it affects, or you can select it multiple times for some piece of gear you're using. This also is a reason to take a closer look at how Feats I wrote the Feats at the start of the d20 project and how I need to modify and add to the way Feats work...