added management of optional modules