Add message types
Improve message function with optional parameters