rework gc, no more gc'ing for internal types