         if (recvByte == heightInitialVal)
         {
             // TODO: Figure out why the first byte isn't already gone
+
+            // Declare a buffer to store the packet and read the data into it
             byte buffer[sizeof(float) + 1];
             receiveData(&buffer, sizeof(buffer));
 
+            // Dereference the data portion of the packet as a float
             lastAltitude = *(float*)(&(buffer[1]));
             Serial.println("Got altitude " + String(lastAltitude));
         }

bool receiveData(void* recvBuf, uint8_t numBytes) {
    if (radio.available()) {
        radio.read(recvBuf, numBytes);
        // acks that we received it
        radio.writeAckPayload(1, &ackVal, 1);
        return true;
    }
    else {

    }
    Serial.println(F("}"));

    // Stop listening temporarily so we can write
    radio.stopListening();
    bool writeSuccess = radio.write(val, numBytes);
    radio.startListening();

    if (writeSuccess) {
        if (!radio.available()) {
            Serial.println(F("Empty receive buffer! Was expecting an ack."));
            return 0;
        }
        else {
            radio.read(&recvByte, 1);
            radio.writeAckPayload(primaryPipeIndex, &ackVal, 1);

            Serial.print(F("Received ack"));
        }
