merge develop branch

merge develop branch which is working on uart io refactoring.