remove un-needed virtuals, auto memory management