tested for empty message and string