packet reader part