apparently the cpy is supposed to read the whole line so we should get away with the simpler match check
(re)allow empty messages