[bugfix] module pattern