add new module and revised some basic class