add new modules and fix associated bugs