uart message parsing - not tested