refactors modules and introduces alternate message behavior