Block-oriented terminals are computer terminals that allow display and editing on "blocks" of the display, defined areas that operate similar to the modern concept of a window. Input and output occurs in bursts that update individual blocks, rather than the entire screen. This is in contrast to character-oriented terminals that operate on a single stream of characters, continually appending the display in a fashion similar to a printer. Block-oriented terminals hand off some of the data manipulation to the terminal itself, requiring more logic in the terminal, but reducing the amount of processing needed on the host computer. They were mostly used with mainframe systems, notably IBM computers.