moved serial init to protocol.py, more cleanup