fixed the crc bug. after two weeks of struggle, I'm kinda back to the original VirtualWire implementation anyway. However, my library still has much lower footprint due to the separate transmit/receive stack. Future improvement will hold on to my focus of small footprint and high efficiency.