implemented destructors as list