updated with extra 3rd party modules