looks like you do not need virtual destructor here.