updated with generic data packets and a semi-working app