Restrucutre some code moving DataHeader to Serial and renaming it protocol, adding DataPackage to encapsulate the data