looks like stable and reasonable ; still need tests for partial packet receive