Module refactoring and update