refactored messenger modules