add some module and fix some bug