move packet parsing logic to job