It's really something like that I have in mind. But, when the user add another source-code, the program will need to parser and add the new stuff in the data-base(which will be a XML tree).