updated implementation of uart
update for commit