adding listener and observers for updating UI
corrected issues with rx/tx