module init and exit added