implementing PacketFactory wave 1