[ci skip] New feature: modules