refactored BottleDetails a little and inserted two implementations of TModem and XModem to think about usage