refactored status message system