module and packages, close #3