big catchup in functionality as my terminal emulator uses this