according to our coding standard we explicitly don't call variables "ptr" -- this should be something like "incomingData" or "data" or something more descriptive than ptr