implement gclog.c