refactor of GC
rem temps