fixed garbage collection