fixed RX, added buffer and event