basic terminal gui implementations