- some more documentation / comments - private member naming, other style issues - sensible default serial port (e.g. on windows) - split up into base protocol class and variants