split new_message in two separate functions, added comments with additional validation options