update UML
add level 2, modify level.h to have a virtual destructor
add level 3