terminal-based coding