defined empty virtual destructors updated Makefile system