More sophisticated Makefile
Made the destructor virtual