   tx_message.checksum ^= tx_message.source;
   tx_message.checksum ^= tx_message.data;
   /* Send the data packet */
-  Mirf.send( &tx_message.destination );
-  Mirf.send( &tx_message.source );
-  Mirf.send( &tx_message.data );
-  Mirf.send( &tx_message.checksum );
+  Mirf.send( (byte *) tx_message.destination );
+  Mirf.send( (byte *) tx_message.source );
+  Mirf.send( (byte *) tx_message.data );
+  Mirf.send( (byte *) tx_message.checksum );
   
   /* Wait for data to be transmitted */
   while ( Mirf.isSending() );

  /* go trough all the button and check which one was pressed */
  for ( i = 2; i <= 6; i++ )
    if ( digitalRead( i ) ) *button = i; else continue;
  Serial.print( "button was pressed, nr " );
  Serial.println( *button );
  return SUCCESS;
}


  /* when nothing was received */
  if ( !Mirf.dataReady() ) return 1;
  byte b;
  Mirf.getData( (byte *) b );
  /* according to our status we save the received byte and go to next state */
  switch ( rx_stat ) {
    case 0: rx_message.destination = b; rx_stat = 1; break;
