[FEATURE] Allow user-defined module