still working on serial communication bugs