add Log class, fix bugs