writeen gc.c/gc.h.     TODO:ember it into code
Update