Packet #2259712 Success

TRACEROUTE_APP packet from Ray H2T (RSH2) to JLO - R1 Neo (JR1N)

20
Total Receptions
20
Unique Gateways
6
Hop Count
79
Payload Bytes
Packet Information
Database ID: 2259712
Mesh Packet ID: 0xc1db3801
Used for correlation across gateways
Timestamp: 2025-11-17 13:27:50 UTC
From Node: Ray H2T (RSH2)
To Node: JLO - R1 Neo (JR1N)
Success: Processed
Protocol: TRACEROUTE_APP
Port: 70
Gateway: Gowanus Soda (p1p)
Channel: LongFast
RSSI: -116 dBm
SNR: -12.0 dBm
Hop Info: 6/6 hops
Start: 6, Limit: 0
Relay Node: ec bdec
Last byte of the last hop that relayed this packet - Candidate source node(s) based on 0-hop direct receptions
Payload Data
Protocol: TRACEROUTE_APP
Size: 79 bytes
Decoded: Yes
Decoded Data:
Route Information
Route Path: Astoria Meshtastic 001 (AMR1) → Central Park (PARK) → KE2EHU-2 (🦖) → Meshtastic 2f88 (2f88) → Penn Plaza (Penn) → Meshtastic bdec (bdec)
Hop Count: 5 hops
Status: Incomplete - Final destination not reached
SNR Towards: 6.75 dB -13.0 dB -18.25 dB -4.5 dB -9.0 dB -6.25 dB
Route Visualization
Loading...

Loading route map...

Map shows the geographic path if nodes have shared location data.
Traceroute Steps
Hop From Node To Node Distance SNR (dB) Direction Analysis
1 Ray H2T (RSH2) Astoria Meshtastic 001 (AMR1) Unknown 6.75 dB Origin Hops
2 Astoria Meshtastic 001 (AMR1) Central Park (PARK) Unknown -13.0 dB Relay Hops
3 Central Park (PARK) KE2EHU-2 (🦖) 12.34 km -18.25 dB Relay Hops
4 KE2EHU-2 (🦖) Meshtastic 2f88 (2f88) Unknown -4.5 dB Relay Hops
5 Meshtastic 2f88 (2f88) Penn Plaza (Penn) Unknown -9.0 dB Relay Hops
6 Penn Plaza (Penn) Meshtastic bdec (bdec) 9.02 km -6.25 dB Relay Hops
Traceroute incomplete - Final destination not reached
Total Forward Distance
21.36 km
Combined Traceroute Graph
Controls: Drag nodes to rearrange • Mouse wheel to zoom • Click and drag background to pan • Hover for details
Loading graph...

Building graph...

Legend & Paths
Nodes
🔄 Router Node
📡 Gateway Node
🚀 Source Node
🎯 Target Node
Connections
RF Link
Gateway Connection
Direct Reception (0 hops)
Packet Paths
Loading paths...
Raw Packet Analysis
Complete field breakdown and MQTT privacy/exposure analysis
Packet Structure
MQTT Packet Flow:
ServiceEnvelope (MQTT layer) → MeshPacket (Mesh layer) → Decoded Payload (Application data)
Total Size:79 bytes
Gateway:!9e758c94
Channel:LongFast
Payload Type:TRACEROUTE_APP
Hop Count:6 / 6
Privacy Summary
Exposure Level:
Direct Message
Privacy Features:
✓ Direct LoRa transmission (not via MQTT)
✓ Acknowledgment requested
+ 2 more...
Exposure Risks:
âš  Default channel - no encryption
âš  Packet visible to MQTT subscribers
+ 2 more...
MQTT ServiceEnvelope Fields

MQTT ServiceEnvelope contains the MeshPacket plus routing metadata

FieldValue
gateway_id !9e758c94
Node ID format
channel_id LongFast
Default public channel
packet MeshPacket (79 bytes)
Contains the actual mesh network packet
MeshPacket Fields

Core mesh packet with routing and payload information

FieldValueType
from 716131105
Source node ID
uint32
to 4023760357
Target node ID
uint32
decoded.portnum 70
TRACEROUTE_APP
enum
decoded.payload_length 79 bytes size
hop_limit Not set uint32
hop_start 6
Initial hop limit
uint32
hops_taken 6
Calculated: hop_start - hop_limit
derived
rx_rssi -116.0 dBm
Signal strength at gateway
int32
rx_snr -12.00 dB
Signal quality at gateway
float
rx_time 1763386138
Receive timestamp
fixed32
via_mqtt False
Direct LoRa transmission
bool
want_ack True
Acknowledgment requested
bool
priority Not set enum
delayed Not set enum
channel Not set uint32
pki_encrypted False
Standard encryption
bool
next_hop Not set uint32
relay_node 236
Relay node ID
uint32
tx_after Not set uint32
timestamp 1763386070.7756546
Unix timestamp
uint32
MQTT Privacy & Exposure Analysis

Analysis of privacy features and exposure risks when packet is shared via MQTT

Exposure Level: Direct Message
Privacy Features:
  • ✓ Direct LoRa transmission (not via MQTT)
  • ✓ Acknowledgment requested
  • ✓ Targeted to specific node
  • ✓ Gateway node ID tracked
Exposure Risks:
  • âš  Default channel - no encryption
  • âš  Packet visible to MQTT subscribers
  • âš  Multi-hop path visible (6 hops)
  • âš  RF signal metrics exposed (location inference possible)
MQTT-Specific Fields
Want ack: True
Gateway ID: !9e758c94
Signal Metrics: RSSI: -116.0 dBm
SNR: -12.00 dB
Complete Payload Analysis

Detailed breakdown of all payload fields and decoded data

Payload Metadata:
Protocol:TRACEROUTE_APP
Size:79 bytes
Decoded: Yes
Complete Payload Data (JSON):
{ "route_nodes": [ 3463880454, 966377140, 2224835136, 2997301128, 1213356233, 563985900 ], "snr_towards": [ 6.75, -13.0, -18.25, -4.5, -9.0, -6.25 ], "route_back": [], "snr_back": [], "route_node_names": { "2224835136": "KE2EHU-2 (🦖)", "716131105": "Ray H2T (RSH2)", "4023760357": "JLO - R1 Neo (JR1N)", "3463880454": "Astoria Meshtastic 001 (AMR1)", "2997301128": "Meshtastic 2f88 (2f88)", "1213356233": "Penn Plaza (Penn)", "563985900": "Meshtastic bdec (bdec)", "966377140": "Central Park (PARK)" }, "traceroute_packet": { "packet_data": { "id": 2259712, "timestamp": 1763386070.7756546, "from_node_id": 716131105, "to_node_id": 4023760357, "portnum": 70, "portnum_name": "TRACEROUTE_APP", "gateway_id": "!9e758c94", "channel_id": "LongFast", "mesh_packet_id": 3252369409, "rssi": -116, "snr": -12.0, "hop_limit": 0, "hop_start": 6, "payload_length": 79, "processed_successfully": 1, "raw_payload": "0a18069f76ceb4be9939404a9c84882fa7b2c9585248ecbd9d2112331bccffffffffffffffff01b7ffffffffffffffff01eeffffffffffffffff01dcffffffffffffffff01e7ffffffffffffffff01", "via_mqtt": 0, "want_ack": 1, "priority": 0, "delayed": 0, "channel_index": null, "rx_time": 1763386138, "pki_encrypted": 0, "next_hop": 0, "relay_node": 236, "tx_after": 0, "timestamp_str": "2025-11-17 13:27:50 UTC", "hop_count": 6, "has_payload": true, "success": 1, "from_node_name": "Ray H2T (RSH2)", "to_node_name": "JLO - R1 Neo (JR1N)", "relay_hex": "ec", "relay_candidates": [ { "node_id": 563985900, "node_name": "Meshtastic bdec", "hex_id": "!219dbdec", "short_name": "bdec", "last_byte": "ec" } ], "gateway_name": "Gowanus Soda (p1p)", "gateway_location": { "node_id": 2658503828, "latitude": 40.6781952, "longitude": -73.9835904, "altitude": 19, "timestamp": 1764519726.1963725, "timestamp_str": "2025-11-30 11:22:06", "display_name": "Gowanus Soda", "long_name": "Gowanus Soda", "short_name": "p1p", "hw_model": "HELTEC_V3" } }, "resolve_names": true, "packet_id": 2259712, "from_node_id": 716131105, "to_node_id": 4023760357, "timestamp": 1763386070.7756546, "gateway_id": "!9e758c94", "raw_payload": "0a18069f76ceb4be9939404a9c84882fa7b2c9585248ecbd9d2112331bccffffffffffffffff01b7ffffffffffffffff01eeffffffffffffffff01dcffffffffffffffff01e7ffffffffffffffff01", "hop_limit": 0, "hop_start": 6, "from_node_name": "Ray H2T (RSH2)", "to_node_name": "!efd5b5e5", "route_data": { "route_nodes": [ 3463880454, 966377140, 2224835136, 2997301128, 1213356233, 563985900 ], "snr_towards": [ 6.75, -13.0, -18.25, -4.5, -9.0, -6.25 ], "route_back": [], "snr_back": [] }, "forward_path": { "path_type": "forward", "node_ids": [ 716131105, 3463880454, 966377140, 2224835136, 2997301128, 1213356233, 563985900 ], "node_names": [ "Ray H2T (RSH2)", "Astoria Meshtastic 001 (AMR1)", "Central Park (PARK)", "KE2EHU-2 (🦖)", "Meshtastic 2f88 (2f88)", "Penn Plaza (Penn)", "Meshtastic bdec (bdec)" ], "snr_values": [ 6.75, -13.0, -18.25, -4.5, -9.0, -6.25 ], "hops": [ { "hop_number": 1, "from_node_id": 716131105, "to_node_id": 3463880454, "from_node_name": "Ray H2T (RSH2)", "to_node_name": "Astoria Meshtastic 001 (AMR1)", "snr": 6.75, "direction": "forward", "is_target_hop": false, "distance_meters": null, "from_location_timestamp": null, "to_location_timestamp": null, "from_location_age_warning": "No location data available", "to_location_age_warning": "No location data available" }, { "hop_number": 2, "from_node_id": 3463880454, "to_node_id": 966377140, "from_node_name": "Astoria Meshtastic 001 (AMR1)", "to_node_name": "Central Park (PARK)", "snr": -13.0, "direction": "forward", "is_target_hop": false, "distance_meters": null, "from_location_timestamp": null, "to_location_timestamp": null, "from_location_age_warning": "No location data available", "to_location_age_warning": "No location data available" }, { "hop_number": 3, "from_node_id": 966377140, "to_node_id": 2224835136, "from_node_name": "Central Park (PARK)", "to_node_name": "KE2EHU-2 (🦖)", "snr": -18.25, "direction": "forward", "is_target_hop": false, "distance_meters": 12343.91525660211, "from_location_timestamp": 1761074023.709477, "to_location_timestamp": 1763379237.1199462, "from_location_age_warning": "from 3.8w ago", "to_location_age_warning": "from 1.9h ago" }, { "hop_number": 4, "from_node_id": 2224835136, "to_node_id": 2997301128, "from_node_name": "KE2EHU-2 (🦖)", "to_node_name": "Meshtastic 2f88 (2f88)", "snr": -4.5, "direction": "forward", "is_target_hop": false, "distance_meters": null, "from_location_timestamp": null, "to_location_timestamp": null, "from_location_age_warning": "No location data available", "to_location_age_warning": "No location data available" }, { "hop_number": 5, "from_node_id": 2997301128, "to_node_id": 1213356233, "from_node_name": "Meshtastic 2f88 (2f88)", "to_node_name": "Penn Plaza (Penn)", "snr": -9.0, "direction": "forward", "is_target_hop": false, "distance_meters": null, "from_location_timestamp": null, "to_location_timestamp": null, "from_location_age_warning": "No location data available", "to_location_age_warning": "No location data available" }, { "hop_number": 6, "from_node_id": 1213356233, "to_node_id": 563985900, "from_node_name": "Penn Plaza (Penn)", "to_node_name": "Meshtastic bdec (bdec)", "snr": -6.25, "direction": "forward", "is_target_hop": false, "distance_meters": 9019.546864233576, "from_location_timestamp": 1763349616.6856172, "to_location_timestamp": 1761616723.9833996, "from_location_age_warning": "from 10.1h ago", "to_location_age_warning": "from 2.9w ago" } ], "is_complete": false, "total_hops": 6 }, "return_path": null, "actual_rf_path": { "path_type": "forward_rf", "node_ids": [ 716131105, 3463880454, 966377140, 2224835136, 2997301128, 1213356233, 563985900 ], "node_names": [ "Ray H2T (RSH2)", "Astoria Meshtastic 001 (AMR1)", "Central Park (PARK)", "KE2EHU-2 (🦖)", "Meshtastic 2f88 (2f88)", "Penn Plaza (Penn)", "Meshtastic bdec (bdec)" ], "snr_values": [ 6.75, -13.0, -18.25, -4.5, -9.0, -6.25 ], "hops": [ { "hop_number": 1, "from_node_id": 716131105, "to_node_id": 3463880454, "from_node_name": "Ray H2T (RSH2)", "to_node_name": "Astoria Meshtastic 001 (AMR1)", "snr": 6.75, "direction": "forward_rf", "is_target_hop": false, "distance_meters": null, "from_location_timestamp": null, "to_location_timestamp": null, "from_location_age_warning": "No location data available", "to_location_age_warning": "No location data available" }, { "hop_number": 2, "from_node_id": 3463880454, "to_node_id": 966377140, "from_node_name": "Astoria Meshtastic 001 (AMR1)", "to_node_name": "Central Park (PARK)", "snr": -13.0, "direction": "forward_rf", "is_target_hop": false, "distance_meters": null, "from_location_timestamp": null, "to_location_timestamp": null, "from_location_age_warning": "No location data available", "to_location_age_warning": "No location data available" }, { "hop_number": 3, "from_node_id": 966377140, "to_node_id": 2224835136, "from_node_name": "Central Park (PARK)", "to_node_name": "KE2EHU-2 (🦖)", "snr": -18.25, "direction": "forward_rf", "is_target_hop": false, "distance_meters": 12343.91525660211, "from_location_timestamp": 1761074023.709477, "to_location_timestamp": 1763379237.1199462, "from_location_age_warning": "from 3.8w ago", "to_location_age_warning": "from 1.9h ago" }, { "hop_number": 4, "from_node_id": 2224835136, "to_node_id": 2997301128, "from_node_name": "KE2EHU-2 (🦖)", "to_node_name": "Meshtastic 2f88 (2f88)", "snr": -4.5, "direction": "forward_rf", "is_target_hop": false, "distance_meters": null, "from_location_timestamp": null, "to_location_timestamp": null, "from_location_age_warning": "No location data available", "to_location_age_warning": "No location data available" }, { "hop_number": 5, "from_node_id": 2997301128, "to_node_id": 1213356233, "from_node_name": "Meshtastic 2f88 (2f88)", "to_node_name": "Penn Plaza (Penn)", "snr": -9.0, "direction": "forward_rf", "is_target_hop": false, "distance_meters": null, "from_location_timestamp": null, "to_location_timestamp": null, "from_location_age_warning": "No location data available", "to_location_age_warning": "No location data available" }, { "hop_number": 6, "from_node_id": 1213356233, "to_node_id": 563985900, "from_node_name": "Penn Plaza (Penn)", "to_node_name": "Meshtastic bdec (bdec)", "snr": -6.25, "direction": "forward_rf", "is_target_hop": false, "distance_meters": 9019.546864233576, "from_location_timestamp": 1763349616.6856172, "to_location_timestamp": 1761616723.9833996, "from_location_age_warning": "from 10.1h ago", "to_location_age_warning": "from 2.9w ago" } ], "is_complete": false, "total_hops": 6 } }, "has_return_path": false, "is_complete": false, "forward_path_display": "Ray H2T (RSH2) → Astoria Meshtastic 001 (AMR1) → Central Park (PARK) → KE2EHU-2 (🦖) → Meshtastic 2f88 (2f88) → Penn Plaza (Penn) → Meshtastic bdec (bdec)", "return_path_display": null, "actual_rf_path_display": "Ray H2T (RSH2) → Astoria Meshtastic 001 (AMR1) → Central Park (PARK) → KE2EHU-2 (🦖) → Meshtastic 2f88 (2f88) → Penn Plaza (Penn) → Meshtastic bdec (bdec)", "forward_hops": [ { "hop_number": 1, "from_node_id": 716131105, "to_node_id": 3463880454, "from_node_name": "Ray H2T (RSH2)", "to_node_name": "Astoria Meshtastic 001 (AMR1)", "snr": 6.75, "direction": "forward", "is_target_hop": false, "distance_meters": null, "from_location_timestamp": null, "to_location_timestamp": null, "from_location_age_warning": "No location data available", "to_location_age_warning": "No location data available" }, { "hop_number": 2, "from_node_id": 3463880454, "to_node_id": 966377140, "from_node_name": "Astoria Meshtastic 001 (AMR1)", "to_node_name": "Central Park (PARK)", "snr": -13.0, "direction": "forward", "is_target_hop": false, "distance_meters": null, "from_location_timestamp": null, "to_location_timestamp": null, "from_location_age_warning": "No location data available", "to_location_age_warning": "No location data available" }, { "hop_number": 3, "from_node_id": 966377140, "to_node_id": 2224835136, "from_node_name": "Central Park (PARK)", "to_node_name": "KE2EHU-2 (🦖)", "snr": -18.25, "direction": "forward", "is_target_hop": false, "distance_meters": 12343.91525660211, "from_location_timestamp": 1761074023.709477, "to_location_timestamp": 1763379237.1199462, "from_location_age_warning": "from 3.8w ago", "to_location_age_warning": "from 1.9h ago" }, { "hop_number": 4, "from_node_id": 2224835136, "to_node_id": 2997301128, "from_node_name": "KE2EHU-2 (🦖)", "to_node_name": "Meshtastic 2f88 (2f88)", "snr": -4.5, "direction": "forward", "is_target_hop": false, "distance_meters": null, "from_location_timestamp": null, "to_location_timestamp": null, "from_location_age_warning": "No location data available", "to_location_age_warning": "No location data available" }, { "hop_number": 5, "from_node_id": 2997301128, "to_node_id": 1213356233, "from_node_name": "Meshtastic 2f88 (2f88)", "to_node_name": "Penn Plaza (Penn)", "snr": -9.0, "direction": "forward", "is_target_hop": false, "distance_meters": null, "from_location_timestamp": null, "to_location_timestamp": null, "from_location_age_warning": "No location data available", "to_location_age_warning": "No location data available" }, { "hop_number": 6, "from_node_id": 1213356233, "to_node_id": 563985900, "from_node_name": "Penn Plaza (Penn)", "to_node_name": "Meshtastic bdec (bdec)", "snr": -6.25, "direction": "forward", "is_target_hop": false, "distance_meters": 9019.546864233576, "from_location_timestamp": 1763349616.6856172, "to_location_timestamp": 1761616723.9833996, "from_location_age_warning": "from 10.1h ago", "to_location_age_warning": "from 2.9w ago" } ], "return_hops": [], "total_forward_distance": 21363.462120835684, "total_return_distance": null }
Complete Protobuf Decode (JSON)
{ "service_envelope": { "gateway_id": "!9e758c94", "channel_id": "LongFast", "packet": "MeshPacket (see mesh_packet below)" }, "mesh_packet": { "from": 716131105, "to": 4023760357, "id": 3252369409, "rx_time": 1763386138, "rx_snr": -12.0, "rx_rssi": -116, "hop_limit": 0, "hop_start": 6, "via_mqtt": 0, "want_ack": 1, "priority": 0, "delayed": 0, "channel_index": null, "pki_encrypted": 0, "next_hop": 0, "relay_node": 236, "tx_after": 0, "decoded": { "portnum": 70, "payload": "0a18069f76ceb4be9939404a9c84882fa7b2c9585248ecbd9d2112331bccffffffffffffffff01b7ffffffffffffffff01eeffffffffffffffff01dcffffffffffffffff01e7ffffffffffffffff01", "want_response": null, "dest": null, "source": null, "request_id": null, "reply_id": null, "emoji": null, "parsed_payload": { "route": [ 3463880454, 966377140, 2224835136, 2997301128, 1213356233, 563985900 ], "snr_towards": [ 27, -52, -73, -18, -36, -25 ], "type": "protobuf", "portnum": "TRACEROUTE_APP", "message_class": "RouteDiscovery" } } } }
Raw Packet Data (79 bytes)
0a18069f76ceb4be9939404a9c84882fa7b2c9585248ecbd9d2112331bccffffffffffffffff01b7ffffffffffffffff01eeffffffffffffffff01dcffffffffffffffff01e7ffffffffffffffff01
Hex Analysis:
Size:79 bytes
Format:Protobuf (Protocol Buffers)
Encoding:Binary with varint and length-delimited fields
This is the raw protobuf-encoded payload as received from MQTT. The structure follows the Meshtastic protobuf schema definitions.
All Receptions
All gateways that received this packet
Correlation: Using Mesh Packet ID
Reception Locations
Loading...

Loading reception map...

Map shows gateway locations that received this packet. Hop counts are displayed if available.
Gateway Time Offset RSSI SNR Hops Relay Channel Timestamp Actions
Gowanus Soda (p1p) Primary 0.000s
Reference
-116.0 dBm -12.00 dB 6 ec bdec LongFast 2025-11-17 13:27:50 UTC Current
CBZ0 🚕 mobile (CBZ0) -14.336s
Before
-117.0 dBm -10.50 dB 1 06 Kden , JLO2 , RSR1 , AMR1 LongFast 2025-11-17 13:27:36 UTC View
MeshM0xie (M0x) -13.129s
Before
-105.0 dBm -12.25 dB 2 b4 PARK LongFast 2025-11-17 13:27:37 UTC View
BeMoreSQUIP 1 (VPP1) -12.644s
Before
-119.0 dBm -17.75 dB 2 b4 PARK LongFast 2025-11-17 13:27:38 UTC View
Steiner Studios Tower (SST) -2.093s
Before
-116.0 dBm -9.50 dB 5 c9 Penn , JLX3 LongFast 2025-11-17 13:27:48 UTC View
drp mobile (drpm) -1.902s
Before
-89.0 dBm 6.50 dB 5 c9 Penn LongFast 2025-11-17 13:27:48 UTC View
DRP1 Chelsea (DRP1) -1.798s
Before
-77.0 dBm 7.00 dB 5 c9 Penn , JLX3 LongFast 2025-11-17 13:27:48 UTC View
Claudiopolis-440c (440c) -1.589s
Before
-103.0 dBm -11.00 dB 5 c9 Penn , JLX3 LongFast 2025-11-17 13:27:49 UTC View
1 MW 1 West Side | https://nyme.sh (1MW1) -1.394s
Before
-104.0 dBm -1.00 dB 5 c9 Penn LongFast 2025-11-17 13:27:49 UTC View
aurelia (🧚) -0.872s
Before
-110.0 dBm -18.75 dB 5 c9 Penn LongFast 2025-11-17 13:27:49 UTC View
dkTowerBot (dkTB) -0.358s
Before
-98.0 dBm -9.75 dB 6 28 b028 LongFast 2025-11-17 13:27:50 UTC View
Fried Fish 1 | nyme.sh (FF1) +0.133s
After
-105.0 dBm -15.25 dB 6 - LongFast 2025-11-17 13:27:50 UTC View
DRP0 Astoria (DRP0) +0.616s
After
-95.0 dBm 3.00 dB 6 b2 😴 , CBZ1 LongFast 2025-11-17 13:27:51 UTC View
K2XAP V4 MS (XAP4) +1.267s
After
-73.0 dBm -5.25 dB 6 f2 p@s! , 10f2 LongFast 2025-11-17 13:27:52 UTC View
K2XAP / nyme.sh (XAP) +1.556s
After
-122.0 dBm -10.50 dB 6 f2 p@s! LongFast 2025-11-17 13:27:52 UTC View
Meshtastic 631c (631c) +2.373s
After
-102.0 dBm -12.00 dB 6 10 WA2J , 8a10 LongFast 2025-11-17 13:27:53 UTC View
Meshtastic 1ca3 (1ca3) +3.612s
After
-122.0 dBm -14.25 dB 6 e0 Lv4 , 88e0 LongFast 2025-11-17 13:27:54 UTC View
K2YYD MQTT Gateway 0b0b (MBMQ) +7.943s
After
-70.0 dBm -0.50 dB 4 6c LongFast 2025-11-17 13:27:58 UTC View
YMH 2 @ Your Mom’s House (YMH2) +10.247s
After
-73.0 dBm -6.75 dB 6 90 NLG1 LongFast 2025-11-17 13:28:01 UTC View
YMH 3 @ Your Mom’s House (YMH3) +10.673s
After
-124.0 dBm -14.50 dB 6 90 NLG1 LongFast 2025-11-17 13:28:01 UTC View
20

Total Receptions

20

Unique Gateways