added (untested) serial communication