update:

1, divide Closure in two pieces. one for GC, one for work