a web terminal framework