which are the most common types tested against? how can i arrange this in the project to be as easily extendable by community as possible?