add main module and fix bug