The composite pattern works, you can do a list of list ;) test on the main.cpp file