refactored enhancements module into multiple modules to better separate responsibilities