added garbage collector
moved GC in front