restore missing header
change to pure virtual functions
Implement destructor and remove constructor parameter udp (now directly instantiated)