refactoring, including slight "message" reorganization