add driver; rewrite alog.c;