[feature] module init and exit