Added abstraction layer for serial driver