Virtual destructor is needed.
Useless functions arguments moved as arguments default values.