Avoid making a call to new
Implement destructors and make them virtual where appropriate (fix #1)