add some modules and fixed minor bugs