added basic terminal I/O and error messages to UI