add depends on module
update many bug fix and implements