improved text ui