Added generic message implementation