FEAT: add framework for serial ports