Add virtual destructor to DatabaseEntity because we have virtual functions in the class
Refactor spider a bit