merge changes and redesign text ui binding