Now using "yield" for returning packets