fixed garbage collector